Метод Telegram API getUpdates()
https://api.telegram.org/bot<token>/getUpdates
Я хочу сделать чат-бота на Python и интегрировать его с Telegram. Я использую этот API для получения сообщений пользователей. Он работает нормально, но иногда поле результата пустое. Из-за чего у меня происходит сбой кода. Через некоторое время я смог увидеть содержание. Как решить эту проблему.
import requests
def get_last_update(offset):
url="https://api.telegram.org/bot<token>/getUpdates?timeout=100"
if offset:
url=url+"&offset={}".format(offset+1)
res=requests.get(url).json()
return res["result"]
def send_message(chat_id,message):
requests.post("https://api.telegram.org/bot<token>/sendMessage?text={}&chat_id={}".format(message,chat_id))
def find_ans(message):
return "hi i am bot"
update_id=None
while True:
updates = get_last_update(update_id)
if updates:
for item in updates:
update_id = item["update_id"]
try:
message = str(item["message"]["text"])
except:
message = None
from_ = item["message"]["from"]["id"]
reply = find_ans(message)
send_message(from_,reply)
Должен ли этот код работать нормально?
KeyError Traceback (most recent call last)
<ipython-input-83-741da05a9e41> in <module>()
1 update_id=None
2 while True:
----> 3 updates = get_last_update(update_id)
4 if updates:
5 for item in updates:
<ipython-input-77-cbcc58e3e84e> in get_last_update(offset)
65 url=url+"&offset={}".format(offset+1)
66 res=requests.get(url).json()
---> 67 return res["result"]
68
69
KeyError: 'result'
Это ошибка, которую я получаю.