簡體   English   中英

irazasyed / telegram-bot-sdk觸發命令php

[英]irazasyed/telegram-bot-sdk trigger command php

我正在使用irazasyed / telegram-bot-sdk,並且需要通過文本觸發命令。

這是代碼示例:

    $telegram = new Api($key);
    $commands = [
        \Startdev::class,
        \Help::class,
        \Cinema::class,
        \Theater::class,
        \Exhibition::class,
        \Holidays::class,
        \Sport::class
    ];

    $telegram->addCommands($commands);
    $commandsHandler= $telegram->commandsHandler(true);

    $updates = $telegram->getWebhookUpdates();

    if (!empty($updates)){

        if ($updates->isType('callback_query')) {

            $query = $updates->getCallbackQuery();
            $data  = $query->getData();

           //$data - here is my command (for example - "cinema")

            $telegram->answerCallbackQuery([
                'callback_query_id' => $query->getId()
            ]);

            try{
                $telegram->triggerCommand($data,$commandsHandler);
            }  catch (Exception $e){
                $this->log($e->getMessage());
            } 

        }
    }

沒事 但是命令/cinema處理程序可以正常工作。

您能幫我還是提一些建議,這可能是個問題?

更多信息:
irazasyed/telegram-bot-sdk: master-dev版本。

我無法回答為什么triggerCommand不起作用,但是此代碼示例可以完美地工作。

$commands = [...];
$telegram->addCommands($commands);
$commandsHandler = $telegram->commandsHandler(true);
//$command = "yourCommand" for example, $arguments = array of something
$res = $telegram->getCommandBus()->execute($command, $arguments, $commandsHandler);

希望對我這樣的人有用=)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM