All Projects → shelomentsevd → Telegramgo

shelomentsevd / Telegramgo

Licence: mit
CLI telegram client written in golang

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Telegramgo

Telegramd
Unofficial open source telegram server written in golang
Stars: ✭ 609 (+320%)
Mutual labels:  telegram, mtproto
Callsmusic
The first open-source PyTgCalls-based project.
Stars: ✭ 62 (-57.24%)
Mutual labels:  telegram, mtproto
Teleperl
Pure perl mtproto/telergam client
Stars: ✭ 34 (-76.55%)
Mutual labels:  telegram, mtproto
Mtproto
Telegram MTProto and its proxy (over gRPC) in Go (golang). API Layer: 71
Stars: ✭ 133 (-8.28%)
Mutual labels:  telegram, mtproto
Grammers
(tele)gramme.rs - use Telegram's API from Rust
Stars: ✭ 109 (-24.83%)
Mutual labels:  telegram, mtproto
Chatengine
Open source mtproto server written in golang with compatible telegram client
Stars: ✭ 544 (+275.17%)
Mutual labels:  telegram, mtproto
Mtprotoproxy
Async MTProto proxy for Telegram
Stars: ✭ 1,014 (+599.31%)
Mutual labels:  telegram, mtproto
Mtproxy
MTProxyTLS一键安装绿色脚本
Stars: ✭ 256 (+76.55%)
Mutual labels:  telegram, mtproto
Unigram
A Telegram desktop app made for Windows 10
Stars: ✭ 1,393 (+860.69%)
Mutual labels:  telegram, mtproto
Telegram React
Experimental Telegram web client with tdlib, webassembly and react js under the hood
Stars: ✭ 1,332 (+818.62%)
Mutual labels:  telegram, mtproto
Pyrogram
Telegram MTProto API Client Library and Framework in Pure Python for Users and Bots
Stars: ✭ 2,252 (+1453.1%)
Mutual labels:  telegram, mtproto
Madelineproto
Async PHP client/server API for the telegram MTProto protocol
Stars: ✭ 1,776 (+1124.83%)
Mutual labels:  telegram, mtproto
Telegram Mtproto
Telegram client api (MTProto) library
Stars: ✭ 542 (+273.79%)
Mutual labels:  telegram, mtproto
Mtproto
Full-native go implementation of Telegram API
Stars: ✭ 566 (+290.34%)
Mutual labels:  telegram, mtproto
Telethon
Pure Python 3 MTProto API Telegram client library, for bots too!
Stars: ✭ 5,805 (+3903.45%)
Mutual labels:  telegram, mtproto
Mtg
Bullshit-free MTPROTO proxy for Telegram
Stars: ✭ 976 (+573.1%)
Mutual labels:  telegram, mtproto
Telega
C# Telegram MTProto Client
Stars: ✭ 38 (-73.79%)
Mutual labels:  telegram, mtproto
mtproxy autoinstaller
MTProxy autoinstaller for Ubuntu
Stars: ✭ 25 (-82.76%)
Mutual labels:  telegram, mtproto
Mtproto
Golang MTProto implementation. Current API layer is 65
Stars: ✭ 86 (-40.69%)
Mutual labels:  telegram, mtproto
Novagram
An Object-Oriented PHP library for Telegram Bots
Stars: ✭ 112 (-22.76%)
Mutual labels:  telegram, mtproto

Telegram messenger CLI

Command-line interface for Telegram. Uses readline interface.

Build

Dependencies

MTProto - library for working with Telegram API

Release

make

Debug

make debug

Commands

Press CTRL-C to input command. Availables commands:

  • \me - shows information about current account
  • \contacts - shows contacts list
  • \umsg - sends message to user with
  • \cmsg - sends message to chat with
  • \help - shows available commands
  • \quit - quit from program

English Documentation

  • coming shortly

Note for Russian Speaking users

Библиотека для работы с Telegram API на Go

В отличии от API для создания ботов, Telegram API для мессенджеров почти не имеет актуальных библиотек. Как на других языках, так и на Go.

Если вам надо написать архиватор сообщений из супергрупп и каналов Telegram'a,вы попали в правильное место.

Библиотека

Большая часть кода позаимствована из http://github.com/sdidyk/mtproto .

Отличия:

  • последняя версия Telegram API
  • автоматическое переподключение к серверу после сброса соединения
  • возможность сериализовать данные полученные из Telegram'a в JSON
  • исправлены ошибки предыдущей библиотеки

Кодогенерация

Большая часть кода генерируется спомощью простого скрипта на Python, который выполняет трансляцию из TL(о нем ниже) в Go. В дальнейшем, будут генерироваться не только структуры на Go и методы их сериализации/десереализации из бинарного кода, а ещё функции для вызова процедур API. https://github.com/shelomentsevd/mtproto

О Telegram API и проблемах с документацией

Telegram для обмена данными между сервером и клиентом использует RPC протокол, который описывается через TL-схему. Язык TL(Type Language or Time Limit) описывает как данные будут сериализоваться в бинарный код или десериализовываться из него. Например вот так выглядит описание чата из 23-ей версии схемы Telegram API:

chat#6e9c9bc7 id:int title:string photo:ChatPhoto participants_count:int date:int left:Bool version:int = Chat;

В самом начале пакета идет 4 байта безнакового числа, которые служат индетификатором процедуры или объекта, по ним сервер или клиент догадывается что это и какие данные будут следующими. В нашем случае это "6e9c9bc7". Дальше идут поля структуры в том порядке в каком они записаны в TL-схеме. Подробнее о том как работает протокол и сериализация можно прочитать здесь: https://core.telegram.org/mtproto/TL

К сожалению, на core.telegram.org вы не найдете актуальной версии TL-схемы Telegram API и документации к ней, а только описание языка и работы самого протокола.

Язык

Примеры работы с Telegram API

Contacts

Feel 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 ;)))

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].