我想知道知道手机号码是否已注册到 Telegram Messenger 的最佳方法是什么?
谢谢。
我对python不熟悉。但有一种方法可以做到这一点:
如您所知,您可以使用电话号码和firsName在电报机器人中发送联系人(不需要是拥有该号码的联系人的真实名字)。
将联系人发送到一个聊天ID(无论您选择什么聊天ID,都可以是您自己的个人聊天ID)后,您可以查找其UserID。
现在,如果此人存在于 Telegram 中,您将得到一个代表他/她的 UserID 或 chatID 的长数字,但如果不存在,则 long 将为0。
在 C# 中,我使用这段代码来查看电报中是否存在电话号码,并且效果很好。
string s = "+44...."; //the phone number
var req2 = await bot.MakeRequestAsync(new SendContact(update.Message.Chat.Id, s, "Name"));
if(req2.Contact.UserId == 0)
{
Console.WriteLine("The contact does not exist in Telegram");
}else
{
Console.WriteLine("The contact exists in telegram with UserID:{0}",req2.Contact.UserId.ToString());
}
我不认为你可以用python-telegram-bot做到这一点。但是,您可以使用python-telegram。
为了检查电话号码是否正在使用 Telegram,您需要将其添加为联系人。
response = tg.call_method('importContacts', {
'contacts': [
{'phone_number': '+57 555 123 4567'},
]
})
response.wait()
user_ids = response.update['user_ids']
if user_ids[0] == 0:
print('This contact is NOT using Telegram.')
else:
print(f'¡This contact({user_ids[0]}) uses Telegram!')
我写了一个关于如何编写整个脚本的教程,如果你想看看的话。