簡體   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