相关疑难解决方法(0)

如何使用Telegram API实现授权?

我想使用PHP实现多个授权,以便与Telegram REST API进行交互.

我想解决什么任务?嗯,这很简单:几十个用户(他们都有像这里的卡玛(+ 10,-2,+ 1000等)和相关的群体分类:网站管理员和客户)在我的网站上有一个用户档案.在他们达到一定数量的carma之后,由于他们在他们的个人资料中被授权,他们将根据为他们自动生成的Telegram加入私人聊天.

经过一些研究,我发现它非常复杂,因为:

  1. 我从未有过硬件绑定社交网络的API实现经验.
  2. 我看了一下https://core.telegram.org/api/auth,但是如何使用PHP或任何其他语言实现这些函数(例如auth.sendCode)是完全不明显的.如果这些命令应该作为JSON发送到服务器,那么它看起来不像JSON:

      auth.sentCode#efed51d9 phone_registered:Bool phone_code_hash:string send_call_timeout:int is_password:Bool = auth.SentCode;
    
    Run Code Online (Sandbox Code Playgroud)

    它是什么?用哪种语言写的?

    UPD:用TL(Type Language)编写: https: //core.telegram.org/mtproto/TL

  3. 我已经探索了几个客户端的源代码(Webogram,Telegram-cli(tg),tdesktop),我发现了几个https://core.telegram.org/mtproto的实现.

不幸的是,他们都没有支持多方授权,经过一些研究,我不知道在哪里深入挖掘以找到更多信息.

此外,这些实现看起来很庞大和复杂(例如,https://github.com/vysheng/tg): 在此输入图像描述

在那里,我看到一堆服务器(./tg/tgl/tgl.h):

#define TG_SERVER_1 "149.154.175.50"
#define TG_SERVER_2 "149.154.167.51"
#define TG_SERVER_3 "149.154.175.100"
#define TG_SERVER_4 "149.154.167.91"
#define TG_SERVER_5 "149.154.171.5"
Run Code Online (Sandbox Code Playgroud)

我找到了几个可能合适的函数(./tg/tgl/queries.c):

void empty_auth_file (void) {
  if (TLS->test_mode) {
    bl_do_dc_option (TLS, 1, "", 0, TG_SERVER_TEST_1, strlen (TG_SERVER_TEST_1), 443);
    bl_do_dc_option (TLS, 2, "", 0, TG_SERVER_TEST_2, strlen (TG_SERVER_TEST_2), 443);
    bl_do_dc_option (TLS, 3, "", …
Run Code Online (Sandbox Code Playgroud)

php api algorithm rest telegram

30
推荐指数
2
解决办法
3万
查看次数

标签 统计

algorithm ×1

api ×1

php ×1

rest ×1

telegram ×1