Задать вопрос

Как отвечать ботом на команды?

Добрый день всем, хочу создать бота, использую библиотеку longman/telegram-bot. Создаю свою команду по примеру.
namespace Longman\TelegramBot\Commands\UserCommands;

use Longman\TelegramBot\Commands\UserCommand;
use Longman\TelegramBot\Request;

class TestCommand extends UserCommand
{
    protected $name = 'test';                      // Your command's name
    protected $description = 'A command for test'; // Your command description
    protected $usage = '/test';                    // Usage of your command
    protected $version = '1.0.0';                  // Version of your command

    public function execute()
    {
        $message = $this->getMessage();            // Get Message object
        $chat_id = $message->getChat()->getId();   // Get the current Chat ID

        $data = [                                  // Set up the new message data
            'chat_id' => $chat_id,                 // Set Chat ID to send the message to
            'text'    => 'This is just a Test...', // Set message to send
        ];

        return Request::sendMessage($data);        // Send message!
    }
}


в файле на который повесил вебхук пишу такой код
$bot_api_key  = 'your:bot_api_key';
$bot_username = 'username_bot';

$admin_users = [
//    123,
];
$commands_paths = [
    __DIR__ . '/TelegramCommands/',
];

try {
    // Create Telegram API object
    $telegram = new Longman\TelegramBot\Telegram($bot_api_key, $bot_username);
    // Add commands paths containing your custom commands
    $telegram->addCommandsPaths($commands_paths);
    // Enable admin users
    $telegram->enableAdmins($admin_users);
    // Handle telegram webhook request
    $telegram->handle();
} catch (Longman\TelegramBot\Exception\TelegramException $e) {
    // Silence is golden!
    //echo $e;
    // Log telegram errors
} catch (Longman\TelegramBot\Exception\TelegramLogException $e) {
    // Silence is golden!
    // Uncomment this to catch log initialisation errors
    //echo $e;
}

И что то я не понимаю как вызывать мой TestCommand когда в боте отправляю /test. Порылся по методам и понял что метод
$telegram->handleGetUpdates();
возвращает мне объект ответа. Собственно вопрос как это сделать что бы бот отвечал на мои команды?
  • Вопрос задан
  • 1225 просмотров
Подписаться 3 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы