Telegram 如何以编程方式检查电报中是否登记了手机号码?

Telegram 如何以编程方式检查电报中是否登记了手机号码?,telegram,telegram-bot,python-telegram-bot,Telegram,Telegram Bot,Python Telegram Bot,我想知道知道手机号码是否已注册到电报信使的最佳方式是什么 谢谢。我不熟悉python。但有一种方法可以做到这一点: 正如您所知,您可以使用其电话号码和firsName在telegram bot中发送联系人(不需要是拥有该号码的联系人的真实姓名) 将联系人发送到聊天ID后(无论您选择什么聊天ID,都可以是您自己的个人聊天ID),您可以查找其用户ID 现在如果电报里有这个人,你会得到一个很长的号码 代表他/她的用户ID或聊天ID,但如果不是,则长度将为0 在C#中,我使用这段代码来查看电报中是否存在

我想知道知道手机号码是否已注册到电报信使的最佳方式是什么


谢谢。

我不熟悉python。但有一种方法可以做到这一点:

正如您所知,您可以使用其电话号码和firsName在telegram bot中发送联系人(不需要是拥有该号码的联系人的真实姓名)

将联系人发送到聊天ID后(无论您选择什么聊天ID,都可以是您自己的个人聊天ID),您可以查找其用户ID

现在如果电报里有这个人,你会得到一个很长的号码 代表他/她的用户ID或聊天ID,但如果不是,则长度将为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());
}

我不认为你能和我一起做那件事。然而,你可以用它

为了检查电话号码是否使用电报,您需要将其添加为联系人

response=tg.call_方法('importContacts'{
“联系人”:[
{电话号码:'+575551234567'},
]
})
response.wait()
user\u id=响应。更新['user\u id']
如果用户标识[0]==0:
打印('此联系人未使用电报')
其他:
打印(f'-此联系人({user_id[0]})使用电报!')

如果您想查看,我写了一篇关于如何编写整个脚本的文章。

如果您谈论的是新的机器人api,目前还不可能。同一个机器人所有者发送的联系人数量有限。我没有看到实际的极限值。在其中一个机器人发送了大约20个联系人后,我的机器人被阻止发送联系人大约一天。请帮助我在我可以找到它的地方找到chatID。或者它是我的机器人的令牌id?嗨,Naser,你知道这种方法现在是否仍然有效(2020年9月1日)?您好,我有一段时间没有检查telegram bot api了。让我检查一下,几个小时后我会回答你的问题。@fredyfx没关系,伙计。我很高兴我的回答帮助了你。我没有buymeacoffee帐户,但如果你想联系我,可以使用。祝你好运