简体中文
Telegram

讨论串🤖 Телеграм боти. Long Polling

2 条消息 · –
P
🤖 Телеграм боти. 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 ·
  1. P
    Python Materials For Beginners Chat
    При текстовому повідомлені Ви отримаєте щось типу: { "update_id": 928176060, "message": { "message_id": 42562, "text": "тестове_повідомлення_1" ... } } При натисненні на inline кнопку: { "update_id": 928176062, "callback_query": { "id": "5848577528993280797", "message": { "message_id": 42361, ... "text": "Мови:", "reply_markup": { "inline_keyboard": [ [ { "text": "Українська 🇺🇦", "callback_data": "locale:uk" } ], [ { "text": "English 🇬🇧", "callback_data": "locale:en" } ], ] } }, "data": "locale:en" } ... }

来自搜索索引的公开信息流 ChatCrawler ——“公开 Telegram 的 Google”;随着该社群被抓取而更新。 时间为 UTC。

仅限公开内容,使用 Telegram 官方 API。 关于 · 常见问题 · 索引限制 · 移除页面 · 目录 · 搜索 · 计算方法