В одном из прошлых постов, мы добавляли список команд в меню и помимо /get-file и /start, там ещё была команда /about. Давайте закрепим добавление команд и добавим команды /about и /help.
Сообщения пользователю.
Начнём с текста. Перейдём в файл views.py и создадим две функции: about_message и help_message. Они ничего не принимают, а просто возвращают соответствующую строку текста.
Две команды.
После того как вы напишите свой текст, переходим в файл simple.py.
Создадим две асинхронные функции: about_command и help_command.
В теле функций, выполним ответ пользователю на сообщение текстом из ранее созданных функций в файле views.py.
async def about_command(message: Message):
await message.answer(views.about_message())
async def help_command(message: Message):
await message.answer(views.help_message())
Регистрация команд.
Для регистрации данных команд, перейдём в файл main.py и по аналогии с командой старт, сделаем две строки:
dp.message.register(simple.about_command, Command(commands='about'))
dp.message.register(simple.help_command, Command(commands='help'))
Добавление команд в меню.
Почти всё, перейдём в файл commands.py и добавим новую команду help в меню.
Для этого в списке commands продублируйте любую команду, начинающуюся на BotCommand( и заканчивающуюся ),, изменив команду и описание. Список должен выглядеть следующим образом:
commands = [
BotCommand(
command='start',
description='Начало работы'
),
BotCommand(
command='get_file',
description='получение файла с материалами'
),
BotCommand(
command='help',
description='Помощь по доступным командам'
),
BotCommand(
command='about',
description='Информация о боте'
),
]
Можно запустить бота и убедиться, что команды отображаются в меню. а бот корректно на них реагирует.
Telegram-канал: https://t.me/press_any_button