https://core.telegram.org/
写bot用的telegram-cli+socket。。。
还要专门运行个cli...
想问问Telegram的API大概是什么意思,求简单描述一下。
Thx
:)
1
cbsw 2015-05-27 23:23:25 +08:00 4
之前研究过几天,也准备自己写一个玩的,后来实在没时间,希望以后有空能写一个出来。
说一下我个人的理解吧: TG 定义了一套通信协议,就是所谓的 TL-schema (https://core.telegram.org/schema),current TL-schema 是 layer 23,即协议的版本号,里面定义了数据如何表示。协议包含一个小的语言:TL language,利用这个语言编写程序,由两部分组成,用 ---functions--- 分开,第一部分是数据定义,第二部分是函数,文档上面给了一个示例: https://core.telegram.org/mtproto/TL#example 其中 # 号后面那8个字符(16进制)是 CRC32 校验,可以省略,比如示例中第一句 `int#a8509bda ? = Int;` 你把 int ? = Int 扔到 http://www.tools4noobs.com/online_php_functions/crc32/ 里面就会得到 a8509bda 有了 TL 程序之后,把 CRC32 提取出来,发送给服务器,服务器会回应一个同样方式编码的数据,再将其解码出来即可。当然为了移动端应用编写方便,TG 还提供 json 形式的 TL-schema: https://core.telegram.org/schema/json 这个就比较容易理解了。 其业务逻辑与通常的应用差不多,就是先从 TG 获得一个 id 和 key,然后利用第一次与服务器通信时带上 id, key,同时提供用户信息(手机号),服务器会发送一个 code 到手机,与淘宝的校验码一样。输入这个 code 后即可登录,之后就是正常的 client-server 通信了,通信数据以上面两种方式中的一种编解码发送,当然 TG 官方要求必须加密传输用户数据。 以上是我对 TG 的理解,还有很多细节没有仔细研究,有些说法可能也不准确,仅供 LZ 参考,一切还是要以官方文档为主 |