[英]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.