如何在PHP中通过手机号获取用户在电报上的聊天Id?

如何在PHP中通过手机号获取用户在电报上的聊天Id?,php,telegram,telegram-bot,Php,Telegram,Telegram Bot,我也通过了许多论坛和电报API。 但是没有得到正确的答案 这是我的主要问题。 我的数据库中有一个用户名单,上面有他们的手机号码,我想通过他们的电报向他们发送信息。因此,我需要他们的聊天ID。我如何通过他们的手机号码检索该ID?如果我有聊天id,我可以使用以下参考向他们发送消息 我已经访问了以下链接,通过用户自己手动从BOT获取聊天id。但我想从脚本自动 谢谢。您不能使用机器人通过电话号码在电报中查找用户。您不能使用机器人通过电话号码在电报中查找用户。我不熟悉PHP。但有一种方法可以做到这一点

我也通过了许多论坛和电报API。 但是没有得到正确的答案

这是我的主要问题。 我的数据库中有一个用户名单,上面有他们的手机号码,我想通过他们的电报向他们发送信息。因此,我需要他们的聊天ID。我如何通过他们的手机号码检索该ID?如果我有聊天id,我可以使用以下参考向他们发送消息

我已经访问了以下链接,通过用户自己手动从BOT获取聊天id。但我想从脚本自动


谢谢。

您不能使用机器人通过电话号码在电报中查找用户。

您不能使用机器人通过电话号码在电报中查找用户。

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

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

将联系人发送到聊天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());
}

我相信这也可以在PHP中实现。

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

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

将联系人发送到聊天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());
}

我相信这也可以在PHP中实现。

通过Telegram bot,您只能向开始与您的bot聊天的用户发送消息。您可以从收到的查询中获取他们的聊天室id(而不是电话号码)


因此,即使您有其他人的电话号码,您也不能向他们发送消息。

通过电报机器人,您只能向开始与您的机器人聊天的用户发送消息。您可以从收到的查询中获取他们的聊天室id(而不是电话号码)


因此,即使您有其他人的电话号码,您也不能向他们发送消息。

请在询问之前阅读和,因为这将帮助您从社区获得更多更好的答案。感谢您的回复。请在提问之前仔细阅读,因为这将帮助您从社区获得更多更好的答案。谢谢您的回复。我会看一遍的。嘿,阿里亚比,谢谢你的评论。那么,有没有其他方法通过在电报API中使用phonenumber来检索聊天Id?没有,即使您有聊天Id,您也不能向他们发送消息,因为用户必须启动与bot的对话。没错!没有办法!谢谢你的回答,顺便说一句!嘿,阿里亚比,谢谢你的评论。那么,有没有其他方法通过在电报API中使用phonenumber来检索聊天Id?没有,即使您有聊天Id,您也不能向他们发送消息,因为用户必须启动与bot的对话。没错!没有办法!谢谢你的回答,顺便说一句!我同意你的看法。我发现了同样的信息!谢谢你的回答,我同意你的看法。我发现了同样的信息!谢谢你的回答。在做了这么多的研究之后,我几乎尝试了与你的答案相似的东西。谢谢你的回答,顺便说一句。使用这种方法可以获得的用户ID数量有限制。您一天只能使用“sendContact”20次。在此之后,任何尝试将sendContact用于任何聊天室id的行为都将导致“错误:429太多请求:XXXX后重试”。但bot的所有其他功能都保持不变。这一点没有很好的证明。@MehrdadNazmdar我还没有测试过,但对于这个问题,它是有效的,因为他只是想知道一个手机号码的聊天id。在做了这么多研究之后,我几乎尝试了与你的答案类似的东西。谢谢你的回答,顺便说一句。使用这种方法可以获得的用户ID数量有限制。您一天只能使用“sendContact”20次。在此之后,任何尝试将sendContact用于任何聊天室id的行为都将导致“错误:429太多请求:XXXX后重试”。但bot的所有其他功能都保持不变。这没有很好的文档记录。@MehrdadNazmdar我还没有测试过,但是对于这个问题,它是有效的,因为他只是想知道一个手机号码的聊天id。