繁体   English   中英

电报中用户ID的交换电话号码

[英]Exchange telephone number for user id in Telegram

我在groovy写了一个Telegram Bot,这是一块蛋糕。

现在,为了注册propper webhooks,我需要获得用户的id。

我读过,我应该调用auth.sendCode方法来启动该进程。

有没有更简单的替代方案?

如果没有,我如何以最小的努力调用sendCode ,并且可能没有任何其他依赖项? 使用普通java或curl的任何示例或指针都会很好。

经过一些研究,我得到了一个简单的解决方案。

我没有通过MTProto对Telegram API进行身份验证,而是颠倒了这个过程。 我实现了一个新的bot命令:

/login {my-user-id}

这样用户就可以在Telegram bot聊天中发送他的id(稍后可以是一些生成的令牌),并且bot会发送此消息 - 以及Telegram用户ID! - 通过webhook到我的服务器,我在那里进行匹配和保存。

实现如下:

switch( json.message.text ){
  case ~/\/login \w+/: 
    String userId
    text.toLowerCase().eachMatch( /\/login (\w+)/ ){ userId = it[ 1 ] }
    String telegramUserId = json.message.from.id
    saveJoin userId, telegramUserId
    break
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM