简体中文
Telegram

消息 🔴 Опис роботи echo-бота. Підписка на події/оновлення.

2025年10月7日
P
🔴 Опис роботи echo-бота. Підписка на події/оновлення. Подивимось код реалізації класу Router у aiogram3: aiogram/dispatcher/router.py 🔗 class Router: def __init__(self, *, name: str | None = None) -> None: # ... self.message = TelegramEventObserver( router=self, event_name="message", ) aiogram/dispatcher/event/telegram.py 🔗 class TelegramEventObserver: # ... def __call__(self, *filters: CallbackType, flags, **kwargs): def wrapper(callback: CallbackType) -> CallbackType: self.register(callback, *filters, flags=flags, **kwargs) return callback return wrapper З цих фрагментів коду бачимо що: ▪️ message це об'єкт класу TelegramEventObserver. Назва класа каже сама за себе. ▪️ У класі реалізований магічний метод __call__, тобто об'єкти цього класу можна викликати як функції/методи. ▪️ В тілі методу __call__ бачимо типову реалізацію декоратора. Отже правильна відповідь на питання у опитуванні: message — це: ✅ Об'єкт класу, клас якого реалізує патерн Observer (реалізує підписку на події/оновлення) ✅ Об'єкт класу (клас-декоратор) ✅ Декоратор (клас-декоратор) Cтаття про патерн Observer у контексті aiogram3 🔗 Що варто підкреслити: 🔺 У класі Router є атрибути назви яких відповідають типам подій(update) Telegram 🔺 Кожен з цих атрибутів дозволяє реєструвати асинхронну функцію обробник на відповідний тип події(update). Для цього використовується синтаксис декораторів. 🔺 Об'єкт клас-декоратора параметром може приймати фільтри. Функція обробник зберігаєтьься разом з фільтрами. 🔺 Асинхронна функція приймає першим параметром json від Telegram серверу десеріалізований у об'єкт події у нашему випадку це message: Message. #tg_bots
👍1
216 ·

信息流中的邻近内容

ТТочка or Крапкатак правильно чи ні?PPython Materials For Beginners ChatПізніше відповім постом, коли наголосують.
这条消息
PPython Materials For Beginners🟢 Опис роботи echo-бота. Обробники подій. Фільтри Трохи теорії по Telegram: 👉 Команда - це текстове повідомлення яке починається на символ / (або інший символ) PPython Materials For Beginners投票

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

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