1
0
mirror of https://github.com/danog/MadelineProto.git synced 2024-11-27 05:54:41 +01:00
Go to file
Anton Grigoryev 9379dd968d Merge remote-tracking branch 'origin/master'
Conflicts:
	tests/ige.py
2015-03-16 17:24:08 +03:00
tests Merge remote-tracking branch 'origin/master' 2015-03-16 17:24:08 +03:00
.gitignore gitignore fix for intellij 2015-03-14 22:05:44 +09:00
crypt.py crypt module refactor. need to be tested in py2 2015-03-16 17:22:18 +03:00
mtproto.py Unified py3 checking of version (kind of) and now we support py3.2+ as I've tried it on a machine 2015-03-16 12:38:12 +01:00
prime.py Trying to go through step 4. 2015-03-12 19:29:56 +03:00
README.md Update README.md 2015-03-13 15:48:33 +03:00
telepy.py force lower character on command word 2015-03-16 17:45:30 +09:00
testing.py Merge remote-tracking branch 'origin/master' 2015-03-16 17:24:08 +03:00
TL_schema.JSON TL Schema moved to JSON mode. 2015-03-11 19:58:26 +03:00

Join the chat at https://gitter.im/griganton/telepy

About this repo

This is Telegram API for python. Main aim is to implement MTProto protocol Telegram API on pure Python (not wrapped CLI)

Plan

Useful start points to join

Detailed description of API and protocol can be found here:

API registration is needed to be done by yourself at http://my.telegram.org Follow Structure - Credentials for provide it your API information.

Structure

  • tests
  • Serialization and SHA.py
  • mtproto.py
  • testing.py
  • prime.py
  • credentials
  • rsa.pub

Credentials

Repo doesn't contain any credentials to connect Telegram servers. You can get yours from http://my.telegram.org

You should place 2 files in the root of your repo:

  • credentials
  • rsa.pub

Config example for "credentials" file:

[App data]
api_id: 12345
api_hash: 1234567890abcdef1234567890abcdef
ip_address: 112.134.156.178
port: 443

rsa.pub contains your RSA key.

mtproto.py

Contains functions to work with MTproto protocol:

  • TL schema parsing
  • serializing and deserializing
  • manage connections to server
  • send and receive messages

testing.py

testing.py is used to test functionality of modules. Now it makes steps from https://core.telegram.org/mtproto/samples-auth_key:

  • sends PQ request to server
  • parses the result
  • factorizes PQ

prime.py

prime.py is used in PQ factorization. It has been copied from https://stackoverflow.com/questions/4643647/fast-prime-factorization-module

TL schema

We use JSON format TL Shema. TL Schema file contains information about objects and methods, it is located in TL_schema.JSON file in the root of repo. It is fully equivalent to JSON TL Schema from https://core.telegram.org/schema/mtproto-json