Изначальная структура и простейший обработчик
В прошлом разделе была описана структура модуля. Теперь перейдем к его созданию!
Last updated
В прошлом разделе была описана структура модуля. Теперь перейдем к его созданию!
Last updated
Сначала ознакомьтесь с , здесь описаны только особенности написания для PBModular
По примеру из прошлого раздела создаем директорию модуля. Теперь необходимо написать команду, пусть это будет /hello
. Пусть бот отвечает "Hello World" на эту команду.
Прекрасно. Однако, бот не знает о том, что эта команда объявлена, функцию необходимо зарегистрировать как обработчик команды. Для этого используется один из 3-х декораторов, которые дают знать классу модуля, что этот метод - обработчик команды: @command
, @callback_query
, @message
.
Декоратор @command
принимает в качестве аргументов список или одну команду, на которую бот будет реагировать, и опциональный . @callback_query
предназначен для обработки событий кнопок, @message
- для обработки любых сообщений. В аргументы принимается фильтр Pyrogram, несмотря на то, что он опционален, крайне рекомендуется его установить!
Так что, импортируем декоратор @command
из base.module
, и используем его!
Изначально существовала регистрация команд на основе имени функции, как реализовано в юзерботе FTG и его форках. Однако, по ходу разработки это признано как неудобный и неочевидный способ регистрации