Pure Python 3 MTProto API Telegram client library, for bots too!
Go to file
2016-08-28 10:38:46 +02:00
network Implemented init and write code on TLObjects Generator 2016-08-27 11:59:23 +02:00
parser Implemented init and write code on TLObjects Generator 2016-08-27 11:59:23 +02:00
requests Initial release 2016-08-26 12:58:53 +02:00
tl Added more docstrings, edited readme 2016-08-28 10:38:46 +02:00
utils Implemented read code on TLObjects Generator 2016-08-27 21:49:38 +02:00
.gitignore Added more docstrings, edited readme 2016-08-28 10:38:46 +02:00
LICENSE Initial release 2016-08-26 12:58:53 +02:00
main.py Added more docstrings, edited readme 2016-08-28 10:38:46 +02:00
README.md Implemented read code on TLObjects Generator 2016-08-27 21:49:38 +02:00

Telethon

Telethon is Telegram client implementation in Python. This project's core is completely based on TLSharp, so please, also have a look to the original project!

Other parts, such as the request themselves, the .tl tokenizer and code generator, or some ported C# utilities such as BinaryWriter, BinaryReader, TCPClient and so on, are no longer part of TLSharp itself.

Requirements

This project requires the following Python modules, which can be installed by issuing sudo -H pip install <module> on a Linux terminal:

We need your help!

As of now, the project is fully untested and with many pending things to do. If you know both Python and C#, please don't think it twice and help us (me)!

Code generator limitations

The current code generator is not complete, yet adding the missing features would only over-complicate an already hard-to-read code. Some parts of the .tl file should be omitted, because they're "built-in" in the generated code (such as writing booleans, etc.).

In order to make sure that all the generated files will work, please make sure to always comment out these lines in scheme.tl (the latest version can always be found here):

// boolFalse#bc799737 = Bool;
// boolTrue#997275b5 = Bool;
// true#3fedd339 = True;
// vector#1cb5c415 {t:Type} # [ t ] = Vector t;

Also please make sure to rename updates#74ae4240 ... to updates_tg#74ae4240 ... or similar to avoid confusion between the updates folder and the updates.py file!