{"id":44130602,"url":"https://github.com/shelomentsevd/telegramgo","last_synced_at":"2026-02-08T22:09:46.788Z","repository":{"id":21279953,"uuid":"89869981","full_name":"shelomentsevd/telegramgo","owner":"shelomentsevd","description":"CLI telegram client written in golang","archived":false,"fork":false,"pushed_at":"2022-02-10T14:48:40.000Z","size":120,"stargazers_count":162,"open_issues_count":12,"forks_count":39,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-08-14T12:34:30.285Z","etag":null,"topics":["golang","mtproto","telegram","telegram-cli","telegram-client"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shelomentsevd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-04-30T18:46:35.000Z","updated_at":"2025-07-18T03:14:27.000Z","dependencies_parsed_at":"2022-07-15T05:46:01.354Z","dependency_job_id":null,"html_url":"https://github.com/shelomentsevd/telegramgo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/shelomentsevd/telegramgo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shelomentsevd%2Ftelegramgo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shelomentsevd%2Ftelegramgo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shelomentsevd%2Ftelegramgo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shelomentsevd%2Ftelegramgo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shelomentsevd","download_url":"https://codeload.github.com/shelomentsevd/telegramgo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shelomentsevd%2Ftelegramgo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29246442,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T21:42:34.334Z","status":"ssl_error","status_checked_at":"2026-02-08T21:41:38.468Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","mtproto","telegram","telegram-cli","telegram-client"],"created_at":"2026-02-08T22:09:44.653Z","updated_at":"2026-02-08T22:09:46.778Z","avatar_url":"https://github.com/shelomentsevd.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Telegram messenger CLI\n\nCommand-line interface for Telegram. Uses readline interface.\n![](http://i.imgur.com/mrMHoXL.gif)\n# Build\n## Dependencies\n[MTProto](https://github.com/shelomentsevd/mtproto) - library for working with Telegram API\n## Release\nmake\n## Debug\nmake debug\n\n# Commands\nPress CTRL-C to input command.\nAvailables commands:\n* \\me - shows information about current account\n* \\contacts - shows contacts list\n* \\umsg \u003cid\u003e \u003cmessage\u003e - sends message to user with \u003cid\u003e \n* \\cmsg \u003cid\u003e \u003cmessage\u003e - sends message to chat with \u003cid\u003e\n* \\help - shows available commands\n* \\quit - quit from program\n# English Documentation\n* coming shortly\n\n# Note for Russian Speaking users\n\n## Библиотека для работы с Telegram API на Go\nВ отличии от API для создания ботов, Telegram API для мессенджеров почти не имеет актуальных библиотек. Как на других языках, так и на Go.\n\nЕсли вам надо написать архиватор сообщений из супергрупп и каналов Telegram'a,вы попали в правильное место. \n\n### Библиотека\nБольшая часть кода позаимствована из http://github.com/sdidyk/mtproto . \n### Отличия:\n* последняя версия Telegram API\n* автоматическое переподключение к серверу после сброса соединения\n* возможность сериализовать данные полученные из Telegram'a в JSON\n* исправлены ошибки предыдущей библиотеки\n### Кодогенерация \nБольшая часть кода генерируется спомощью простого скрипта на Python, который выполняет трансляцию из TL(о нем ниже) в Go. В дальнейшем, будут генерироваться не только структуры на Go и методы их сериализации/десереализации из бинарного кода, а ещё функции для вызова процедур API. \nhttps://github.com/shelomentsevd/mtproto\n\n### О Telegram API и проблемах с документацией\nTelegram для обмена данными между сервером и клиентом использует RPC протокол, который описывается через TL-схему. Язык TL(Type Language or Time Limit) описывает как данные будут сериализоваться в бинарный код или десериализовываться из него. \nНапример вот так выглядит описание чата из 23-ей версии схемы Telegram API:\n```\nchat#6e9c9bc7 id:int title:string photo:ChatPhoto participants_count:int date:int left:Bool version:int = Chat;\n```\nВ самом начале пакета идет 4 байта безнакового числа, которые служат индетификатором процедуры или объекта, по ним сервер или клиент догадывается что это и какие данные будут следующими. В нашем случае это \"6e9c9bc7\". Дальше идут поля структуры в том порядке в каком они записаны в TL-схеме. Подробнее о том как работает протокол и сериализация можно прочитать здесь: https://core.telegram.org/mtproto/TL\n\nК сожалению, на core.telegram.org вы не найдете актуальной версии TL-схемы Telegram API и документации к ней, а только описание языка и работы самого протокола.\n\n### Язык\n* https://core.telegram.org/mtproto/TL - Описание языка TL\n* https://github.com/telegramdesktop/tdesktop/blob/dev/Telegram/Resources/scheme.tl - самая свежая версия TL-схемы можно найти здесь.\n### Примеры работы с Telegram API\n* https://github.com/telegramdesktop/tdesktop - Десктопный клиент Telegram'a. Язык C++. \n* https://github.com/DrKLO/Telegram - Android клиент. Часть кода работы с API написана на С++, часть на Java.\n* https://github.com/QtGram/LibQTelegram - QT библиотека для работы с Telegram API. Язык C++.\n* https://github.com/sdidyk/mtproto - Отсюда я позаимствовал большую часть кода. Язык Go.\n* https://github.com/zerobias/telegram-mtproto - Библиотеки для JavaScript'a. \n\n# Contacts\nFeel free to ping me in Telegram or drop me email. If you are in Moscow, feel free to invite me for coffee or quick chat in your office ;)))\n* Email: shelomentsev@protonmail.com\n* Telegram: @shelomentsevd\n# License\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshelomentsevd%2Ftelegramgo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshelomentsevd%2Ftelegramgo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshelomentsevd%2Ftelegramgo/lists"}