3

当我在 PHP 中使用 file_get_contents 函数来获取我的电报机器人的更新时,我知道如何获取第一个聊天 ID 或文本但是这个页面不仅适用于一个用户,而且每个输入文本的用户都会来到这个页面。此外,每个用户都有其聊天 ID 和文本。那么如何检测最新的文本和聊天 ID 以对此做出反应?例如:当我使用此代码时:

$Updates['result'][0]['message']['chat']['id']

它获取在我的 Bot 中输入的第一个用户聊天 ID。当我对他的文字做出反应时,我会将我的消息发送给最新的用户使用我的机器人......我该怎么做?

4

1 回答 1

1

我想你使用网络钩子。

每个会话都以用户发送给机器人的某种数据(短信、照片……)开始,并以这些数据的处理结束(你的机器人可以发送一些东西来回复用户,也可以不发送)

请记住:在每个会话中,您的机器人脚本只有最新的消息及其发件人数据,不多不少。

用于检索用户发送的短信,使用:$update->message->text或类似的。对于检索发件人chat_id使用:$update->message->chat->id

更新

如果您不使用 webhook:

过程类似,只是您要求电报向您一一发送消息。每次您的脚本处理第一条未读消息时,脚本就会结束。如果您进行循环,您应该将数据保存在数据库中并刷新chat_id和其他消息数据到最新的 READ 消息,以免丢失通信。否则您的消息和它的发件人不会有关系。

于 2016-09-14T17:46:11.513 回答