dimitrius86
@dimitrius86
Сисадмин. Немного программирую.

Почему бот не реагирует на команды?

Добрый день.

Исходные данные по серверу: Centos 7, php 5.6 со всеми расширениями, используется библиотека https://github.com/TelegramBot/Api

<?php

    require_once("vendor/autoload.php");
    const TOKEN = "тут стоит токен";
    $bot = new \TelegramBot\Api\Client(TOKEN);

if(!file_exists("registered.trigger")){
    /**
     * файл registered.trigger будет создаваться после регистрации бота.
     * если этого файла нет значит бот не зарегистрирован
     */

    // URl текущей страницы
    $page_url = "https://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    $result = $bot->setWebhook($page_url);
    if($result){
        file_put_contents("registered.trigger",time());
        $bot->sendMessage("мой ID", "Веб-хук установлен со статусом: ".$result);// создаем файл дабы прекратить повторные регистрации
    }
}
    $bot->sendMessage("мой ID", "HELLO WORLD!");

    $bot->command('start', function ($message) use ($bot) {
    $answer = 'Добро пожаловать!';
    $bot->sendMessage($message->getChat()->getId(), $answer);
});

$bot->run();


Прикол в том, что сообщения отправляются, но команду start он не воспринимает, как будто веб-хук не установлен. SSL сертификат валидный, не самоподписанный. Список команд через ботфазера установлен.

Подскажите, в чем может быть дело?
  • Вопрос задан
  • 2138 просмотров
Пригласить эксперта
Ответы на вопрос 1
skobkin
@skobkin
Гентушник, разработчик на PHP и Symfony.
Ну возьмите дебаггер, посмотрите, приходят ли на ваш бот апдейты через вебхук, посмотрите как он их обрабатывает.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
25 апр. 2024, в 16:12
2000 руб./за проект
25 апр. 2024, в 16:08
100000 руб./за проект