Українська
Відкрити в Telegram

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

7 жовтня 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 ·

Поруч у стрічці

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

Відкрита публічна стрічка з пошукового індексу ChatCrawler — «Google по публічному Telegram»; оновлюється в міру обходу майданчика. Час — UTC.

Лише публічний контент, офіційний API Telegram. Про проєкт · Питання · Межі індексу · Прибрати сторінку з видачі · Каталог · Пошук · Як ми рахуємо