🤖 Телеграм боти. Long Polling
Long Polling ніщо інше як HTTP-запити на телеграм сервіс.
Нижче простий приклад отримання оновлень за допомогою requests.
Робимо запит і отримуємо оновлення у вигляді json.
import requests
TOKEN = 'Ваш токен від телеграм боту'
URL = f'https://api.telegram.org/bot{TOKEN}/getUpdates'
def get_updates(session: requests.Session, offset: int | None = None):
params = {'timeout': 30, 'offset': offset}
try:
r = session.get(URL, params=params, timeout=35)
r.raise_for_status()
data = r.json()
if not data.get('ok'):
raise RuntimeError("Telegram API response is not OK")
return data['result']
except requests.exceptions.Timeout:
return []
def long_polling():
offset = None
with requests.Session() as session:
while True:
if updates := get_updates(session, offset):
for update in updates:
print(update)
offset = update['update_id'] + 1
else:
print("No updates")
long_polling()
Приклад виводу у коментарях.
#tg_bots
👍1
286 ·