Cat

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

В одном из прошлых постов, мы добавляли список команд в меню и помимо /get-file и /start, там ещё была команда /about. Давайте закрепим добавление команд и добавим команды /about и /help.

Все статьи

Icon Link

Дополнительные материалы

Icon Link

Реклама

Icon Link
Telegram-бот на AIOgram3 proDream 05 Сентябрь 2023 Просмотров: 1861

Сообщения пользователю.

Начнём с текста. Перейдём в файл 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='Информация о боте'
        ),
    ]

 

Можно запустить бота и убедиться, что команды отображаются в меню. а бот корректно на них реагирует.

Автор

    Нет комментариев

    Реклама