Callbackquery Telegram bot Longman

346
31 марта 2018, 17:43

Добрый день, коллеги! Нужна помощь, никак не пойму почему в чат ничего не возвращается.

Class инициализации Бота:

    $telegram = new Telegram(Yii::$app->params['telegram.apiToken'], Yii::$app->params['telegram.botName']);
    $telegram->addCommandsPath(Yii::getAlias('@app').'/modules/telegram/commands');
    $telegram->enableAdmins([Yii::$app->params['telegram.adminChatId']]);
    CallbackqueryCommand::addCallbackHandler(function (CallbackQuery $query) {
        $data = $query->getData();
        switch ($data) {
            case "lvl1_help":
                $data = [
                    'chat_id' => $query->getMessage()->getChat()->getId(),
                    'text' => 'help'
                ];
                Request::sendMessage($data);
                break;
            case "lvl1_info":
                $data = [
                    'chat_id' => $query->getMessage()->getChat()->getId(),
                    'text' => 'info'
                ];
                Request::sendMessage($data);
                break;
            default:
                $data = [
                    'chat_id' => $query->getMessage()->getChat()->getId(),
                    'text' => 'default'
                ];
                Request::sendMessage($data);
                break;
        }
    });
    // Включение логов
    TelegramLog::initUpdateLog(Yii::getAlias('@app').'/runtime/logs/telegram/'.Yii::$app->params['telegram.botName'] . '_update.log');
    TelegramLog::initErrorLog(Yii::getAlias('@app').'/runtime/logs/telegram/'.Yii::$app->params['telegram.botName'] . '_error.log');
    TelegramLog::initDebugLog(Yii::getAlias('@app').'/runtime/logs/telegram/'.Yii::$app->params['telegram.botName'] . '_debug.log');
    $telegram->handle();

BalanceCommand

<?php
/**
 * This file is part of the TelegramBot package.
 *
 * (c) Avtandil Kikabidze aka LONGMAN <akalongman@gmail.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace Longman\TelegramBot\Commands\UserCommands;
use Longman\TelegramBot\Commands\UserCommand;
use Longman\TelegramBot\Entities\InlineKeyboard;
use Longman\TelegramBot\Request;
/**
 * User "/inlinekeyboard" command
 *
 * Display an inline keyboard with a few buttons.
 */
class BalanceCommand extends UserCommand
{
    /**
     * @var string
     */
    protected $name = 'balance';
    /**
     * @var string
     */
    protected $description = 'Show inline keyboard';
    /**
     * @var string
     */
    protected $usage = '/balance';
    /**
     * @var string
     */
    protected $version = '0.1.0';
    /**
     * Command execute method
     *
     * @return \Longman\TelegramBot\Entities\ServerResponse
     * @throws \Longman\TelegramBot\Exception\TelegramException
     */
    public function execute()
    {
        $chat_id = $this->getMessage()->getChat()->getId();
        $switch_element = mt_rand(0, 9) < 5 ? 'true' : 'false';
        $inline_keyboard = new InlineKeyboard([
            ['text' => 'inline', 'switch_inline_query' => $switch_element],
            ['text' => 'inline current chat', 'switch_inline_query_current_chat' => $switch_element],
        ], [
            ['text' => 'callback', 'callback_data' => 'identifier222'],
            ['text' => 'open url', 'url' => 'https://github.com/php-telegram-bot/core'],
        ]);
        $data = [
            'chat_id'      => $chat_id,
            'text'         => 'inline keyboard',
            'reply_markup' => $inline_keyboard,
        ];
        return Request::sendMessage($data);
    }
}

В логах есть ответ по нажатию на клавишу, но ничего не происходит!

{"update_id":214791175, "callback_query":{"id":"760992070702825082","from":{"id":177182273,"is_bot":false,"first_name":"Sergey","last_name":"Maximov","language_code":"ru-RU"},"message":{"message_id":15828,"from":{"id":381418595,"is_bot":true,"first_name":"GoodTaxi","username":"goodtaximanbot"},"chat":{"id":177182273,"first_name":"Sergey","last_name":"Maximov","type":"private"},"date":1522331754,"text":"inline keyboard"},"chat_instance":"-7445419655899975093","data":"identifier222"}}
READ ALSO
Предотвратить повторное сохранение

Предотвратить повторное сохранение

Всем привет, есть админка и редактирование новости в котором принимает участие большое количество человек

234
Как считать данные получнные по udp

Как считать данные получнные по udp

Получаю онлайн на сервере MINECRAFT PEНо не могу эти данные обработать и вывести , в чем проблема?

158
ajax PHP метод POST [требует правки]

ajax PHP метод POST [требует правки]

Не понимаю, почему не передаётся переменная id?

205
PHP, как получить изображение из ресурса?

PHP, как получить изображение из ресурса?

У меня есть код, который возвращает ресурс изображения видом imagepng($this->image)

219