Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在电报机器人中使用ForceReply_Php_Telegram Bot - Fatal编程技术网

Php 如何在电报机器人中使用ForceReply

Php 如何在电报机器人中使用ForceReply,php,telegram-bot,Php,Telegram Bot,我正在使用php和web钩子开发一个电报机器人。一切都很好,但有时我想“等待用户的答复”。例如: 如果客户端写入/info时没有任何参数,我希望显示“用法”消息,并询问并等待ID参数 我知道有一个属性“ForceReply”可以强制回复,但是当我设置它时,什么都没有发生,我不知道如何知道客户端消息是否是对我的问题的回复 我必须暂停我的php服务器吗?(我认为这将是一种不好的做法)我是否必须为一种信息类型选择它 谢谢当您使用getUpdates或通过webhook接收更新时,更新消息将包含一个类似

我正在使用php和web钩子开发一个电报机器人。一切都很好,但有时我想“等待用户的答复”。例如:

如果客户端写入/info时没有任何参数,我希望显示“用法”消息,并询问并等待ID参数

我知道有一个属性“ForceReply”可以强制回复,但是当我设置它时,什么都没有发生,我不知道如何知道客户端消息是否是对我的问题的回复

我必须暂停我的php服务器吗?(我认为这将是一种不好的做法)我是否必须为一种信息类型选择它


谢谢

当您使用
getUpdates
或通过webhook接收更新时,更新消息将包含一个类似
reply\u-to\u-message
字段的字段。您可以使用它将其与您发送的消息进行比较

如果您是通过webhooks运行脚本,我会假设它只在收到消息时执行。如果是这样,我建议您使用memcache/redis之类的工具来存储您希望得到回复的消息,然后在收到回复时,您可以将其与存储的值进行比较:

<?php
// This script triggers as a webhook
$message = file_get_contents('php://input');
$message = json_decode($message, true);
$cache = new RedisClient('localhost');

if ($message->reply_to_message == $cache->get('original.message.id'))
{
    var_dump('message reply received');
}

非常感谢您!这就是答案!