Найти тему
Код на салфетке

AIOgram3 10. Пара простых команд

В одном из прошлых постов, мы добавляли список команд в меню и помимо /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

Сайт: https://pressanybutton.ru/