【问题标题】:How to get message after command in Telegram bot sdk Laravel?如何在 Telegram bot sdk Laravel 中获取命令后的消息?
【发布时间】:2021-01-12 03:00:18
【问题描述】:

我对 Telegram SDK 有一些问题!如下图所示,我要求在用户输入 /addnotification 命令后输入一些标题,这里用户应该输入一些通知标题,但我无法得到它,因为更新给了我最后一条消息,即命令 /addnotification!如果有人知道答案,请帮忙!

public function handle()
{

    $telegram = new Api(Telegram::getAccessToken());
    $update = Telegram::getWebhookUpdates();
    $chat_id = $update->getMessage()->getChat()->getId();
    $text= $update->getMessage()->getText();

    
    $response = $telegram->sendMessage([
        'chat_id' => $chat_id,
        'text' => 'Пожалуйста введите событие или дело который вы хотели бы добавить.'
    ]);

    // $messageId = $response->getMessageId();


           $this->replyWithMessage(['text' => 'Поздравляем! Вы успешно добавили событие!!!']);
    $this->replyWithMessage(['text' => 'Название - ' . $text]);
   $this->replyWithMessage(['text' => 'Chat Id - ' . $chat_id]);



  //  $this->replyWithMessage(['text' => $messageId]);
    


}

}

在这里输入命令后用户应该输入一些标题,我想得到这个标题(消息),但是更新给出的消息是命令!

【问题讨论】:

    标签: laravel sdk bots telegram


    【解决方案1】:

    您要求用户在同一个处理程序中为您的通知输入一个名称 - 您的用户尚未完成任何输入。您正在使用的库仅为命令提供处理程序,您应该在其他任何地方处理常规消息并使用一些状态机来指示您正在等待用户的输入或使用输入语法,如/addnotification *name*。就个人而言,我可以推荐你将这个 library 用于 Laravel - 它的文档记录更好,并且比 irazasyed 的功能更多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-18
      • 2023-03-14
      • 1970-01-01
      • 2017-11-28
      • 2017-02-25
      • 2019-05-21
      • 1970-01-01
      • 2020-08-02
      相关资源
      最近更新 更多