【问题标题】:reply to telegram bot message回复电报机器人消息
【发布时间】:2018-07-27 18:34:05
【问题描述】:

我想运行一个支持电报机器人,该用户向机器人发送消息,机器人将其发送到管理员帐户。当管理员回复一条消息时,它会将其发送给用户。

$telegram = new telegram(TOKEN);

$result =  $telegram->recivedText();

$userid = $result->message->from->id;
$text   = $result->message->text;

if ($userid != '665467300' )
{
    $telegram->sendMessage('665467300',$text);
}
else 
{
    $userid = $result->message->reply_to_message->from->id;
    $text   = $result->message->text;
    $telegram->sendMessage($userid,$text);
}

但问题是这里的“else”不起作用,并且在回复用户后不发送消息。

【问题讨论】:

  • 您检查过$result->message->reply_to_message->from->id 的值吗?在我看来,这将是机器人的 id,而不是原始用户的
  • 你应该使用 forward 而不是 send new

标签: php telegram telegram-bot


【解决方案1】:

您最好将用户的 ChatID 和消息的 MessageID 保存在数据库或文件中。然后你应该让机器人将用户的消息转发给你。

之后,当管理员(您)回复机器人发送的消息时,您可以使用其 MessageID 找到它的原始发件人,然后您可以强制机器人回复它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-19
    • 1970-01-01
    • 2020-08-01
    • 2020-08-27
    • 2017-03-19
    • 2017-07-17
    • 2021-09-09
    • 2017-09-01
    相关资源
    最近更新 更多