English
Open in Telegram

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

7 October 2025
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 ·

Nearby in the feed

ТТочка or Крапкатак правильно чи ні?PPython Materials For Beginners ChatПізніше відповім постом, коли наголосують.
this message
PPython Materials For Beginners🟢 Опис роботи echo-бота. Обробники подій. Фільтри Трохи теорії по Telegram: 👉 Команда - це текстове повідомлення яке починається на символ / (або інший символ) PPython Materials For BeginnersPoll
PPython Materials For Beginners ChatPython Materials For Beginners Chat@python_code_ua · group · Tech
16members3writing in 30 days
Venue feed Open in Telegram

An open public feed from the search index ChatCrawler — “Google for public Telegram”; refreshed as the venue is crawled. Times are UTC.

Public content only, official Telegram API. About · FAQ · Index limits · Remove a page · Catalog · Search · How we count