Java 在电报中交换用户id的电话号码

Java 在电报中交换用户id的电话号码,java,authentication,groovy,telegram,Java,Authentication,Groovy,Telegram,我用groovy写了一个电报机器人,这是小菜一碟 现在为了注册PropperWebhooks,我需要获得用户的id 我读到,我应该调用方法来启动这个过程 有没有更简单的替代方案 如果没有,我如何以最小的努力调用sendCode,并且可能不需要任何其他依赖项?任何使用纯java或curl的示例或指针都会很好。经过一些研究,我最终得到了一个简单的解决方案 我没有通过MTProto对电报API进行身份验证,而是颠倒了这个过程。我实现了一个新的bot命令: /login {my-user-id} 因此

我用groovy写了一个电报机器人,这是小菜一碟

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

我读到,我应该调用方法来启动这个过程

有没有更简单的替代方案


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

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

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

/login {my-user-id}
因此,用户在Telegram bot chat中发送其id(可以是稍后生成的令牌),bot将此消息与Telegrame user 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
 }

从你的问题来看,你想做什么并不十分清楚。获取电报用户id,就是这样。当用户开始使用你的机器人时,你可能不需要你详细说明的完整电报。当用户开始使用你的机器人时,你会将他的用户id作为你收到的数据的一部分。消息对象包含一个用户属性对象,用户id可从该用户对象获得。