Пишу телеграм бота. Отправляю сообщения, они доставляются нормально, sendMessage возращает данные. А вот getUpdates -- никак не хочет. Ошибки нет, просто возвращается [].
{"ok":true,"result":[]}
Код большой, в репозитории, поэтому я не могу его тут запостить.
ответ дам будущему народу, что в гугле эту тему находит. - Пустой массив из за того что бот включен, он успевает обработать не просмотреные сообщения до того как ты напишешь что боту, и вернешся в браузер посмотреть, есть ли что в массиве. Дак что бота надо оффать перед тем как что либо смотреть
Данный метод возвращает только новые сообщения. Если бот уже реагировал на некие отправляемые ему сообщения, то он их уже получил (скорее всего этим же методом) и они помечены сервером Telegram как полученные. Соответственно, при каждом новом запросе они возвращаться уже не будут, иначе вы бы каждый раз получали всю историю сообщений с момента создания бота. В данном случае, у вас есть два варианта:
Вести лог получаемых ботом сообщений и пользоваться им на своё усмотрение.
Поиграться с параметром offset метода getUpdates. Подробнее здесь: https://core.telegram.org/bots/api#getupdates
Похоже на то, что нет никаких апдейтов, попробуйте посмотреть через браузер https://api.telegram.org/bot<token>/getUpdates если результат тот же, то Ваши сообщения попросту не доходят до сервера
Правильно Lynatik001 написал! Я сам мучился с этой проблемой. Ответ приходит, то есть бот работает и сообщения получает но результат пустой! Долго мучился 3 года назад и как-то получилось. А сейчас реально попробовал - идем в телегу, находим нашего бота и пишем ему /stop. Все, повторяем процедуру с получением результата - все работает. Потом снова идем в бот и стартуем его /start.