簡體   English   中英

如何使用Telegram Bot API從phone_number獲取user_id

[英]how to get user_id from phone_number using Telegram Bot API

我目前正在使用Telegram Bot,一旦您知道電話號碼,它就會在Telegram中獲取用戶信息。 主要目標是僅知道用戶的電話號碼,即可獲取存儲在Telegram中的所有用戶信息。

因此,我嘗試按照Telegram Bot API中的說明使用sendContact函數,並喜歡這篇文章: 如何在電報中獲取電話號碼的user_id

問題是,如果我嘗試將自己的電話號碼作為聯系人發送到我的chat_id,則會收到Contact結構,但是如果我從漫游器向自己發送另一個phone_number(與另一個有效的Telegram帳戶相對應),則會收到JSON文件中沒有user_id。 問題是,如果我使用chat_id帳戶的phone_number,我只能得到一個user_id,這意味着我無法獲得有關使用其電話號碼的任何人的任何信息。 但是我看到了很多可能的解決方案,但是沒有一個對我有用。

任何幫助,將不勝感激!

我正在使用: https://api.telegram.org/bot<BOT TOKEN>/sendContact?chat_id=<MY CHAT ID>&phone_number=<PHONE_NUMBER I WANT TO KNOW USER_ID>&first_name=<RANDOM NAME> : https://api.telegram.org/bot<BOT TOKEN>/sendContact?chat_id=<MY CHAT ID>&phone_number=<PHONE_NUMBER I WANT TO KNOW USER_ID>&first_name=<RANDOM NAME>

如果使用,請使用我自己的chat_id來接收消息,並使用我的phone_number來接收消息,而每當我使用另一個phone_number時,都不會使用。

Bot API無法給您chat_id,您應該使用Telegram的Core_API來完成任務。 您應該使用下面的代碼片段來獲取用戶的chat_id:

contact = InputPhoneContact(client_id = 0, phone = phone, first_name="a", last_name="")
result = client(ImportContactsRequest([contact]))
usersDic = result.__dict__['users']
if(len(usersDic)>0):
    chatID = usersDic[0].__dict__["id"]

請注意,我在上面的代碼中使用了Telethon庫,但是它以某種方式演示了如何執行該過程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM