Как реагировать на команды с ботом? - PullRequest
0 голосов
/ 06 марта 2019

Добрый день всем, я хочу создать бота, я использую 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__ . '/Commands/',
];

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 при отправке / тестировании в боте. Я искал методы и понял, что метод $ telegram-> handleGetUpdates (); возвращает мне объект ответа. Собственно вопрос в том, как это сделать, чтобы бот отвечал на мои команды?

...