Closed igorwebb closed 4 years ago
Проверил тот же код нативно, без фремворка, просто подключил библиотеку через composer - работает. Это как вообще понимать?
Заметил, что по логам каждое сообщение сайт даёт боту: Error: Call to a member function getText() on null in..
А на крайнее - нет.
Я не понимаю, как это связанно, но когда я добавил:
print_r($Update);
после
// Отлов любых сообщений + обрабтка reply-кнопок
$bot->on(function($Update) use ($bot){
Всё заработало, как надо. Это как вообще понимать? Что за магия? В логах та же ошибка, но работает...
У меня была похожая проблема.
Путь решения был следующим --
1) Проверить статус через апи https://api.telegram.org/bot<ТОКЕН БОТА>/getWebhookInfo
2) Обнаружить, что pending_update_count
больше 0 (что странно для тестируемого бота, получившего одну команду) и что last_error_date
постоянно обновляется, а значит, на сервере ошибка ("last_error_message":"Wrong response from the webhook: 500 Internal Server Error"
)
3) Зайти в логи сервера, почитать ошибку
4) Исправить
5) Радоваться жизни
У меня была проблема в том, что у меня было два разных обработчика $bot->on(function($update) ...
для инлайновых кнопок и команд, из-за во втором обработчике случался питик.
Надеюсь, мой ответ будет кому-то полезен.
Прикручиваю библиотеку к фреймворку yii2. Почему-то после того, как я добавил 2ую функцию on() для обработки текста пришедшего сообщение - ответы с первого on() (которая обрабатывает кнопки) приходят по 3 (три) раза... Если убирать вторую on() - работает, как надо - один ответ. Раньше на нативном php такой код работал. На фреймворке что-то магия какая-то...
Код экшна, где лежит бот: