https://github.com/0bezynka/aiogram_inline_kb
Шаблон inline-кнопок для Telegram
https://github.com/0bezynka/aiogram_inline_kb
aiogram bot inline keyboard telegram
Last synced: 9 months ago
JSON representation
Шаблон inline-кнопок для Telegram
- Host: GitHub
- URL: https://github.com/0bezynka/aiogram_inline_kb
- Owner: 0bezynka
- Created: 2022-08-24T13:08:10.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-08-24T13:53:31.000Z (almost 4 years ago)
- Last Synced: 2025-03-30T21:45:15.692Z (about 1 year ago)
- Topics: aiogram, bot, inline, keyboard, telegram
- Language: Python
- Homepage:
- Size: 21.5 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Шаблон inline-кнопок
Лично мне нужны были для чат-бота ... Всё интуитивно просто написал, комментарии в коде и здесь кратко опишу.
Создаем функцию под названием 'panel' в ней через метод 'InlineKeyboardMarkup' создаем клавиатуру. В 'action' указываем индивидуальный ключ для каждой кнопки.
> return types.InlineKeyboardMarkup().row(types.InlineKeyboardButton('Текст_кнопки', callback_data=vote_cb.new(action='ключ')),)
Создаем обработчик каманды, в моем случае '/panel' .
> @dp.message_handler(commands=['panel'])
В ней методом 'message.reply' отвечаем на сообщение и ввыводи клавиатуру 'reply_markup' которую поместили в функцию 'panel()'
> await message.reply('Панель управления', reply_markup=panel())
Каждую новую кнопку необходимо добавить в обработчик (в конце списка дописать)
> @dp.callback_query_handler(vote_cb.filter(action=['кнопка1','кнопка2','кнопка3']))
В дальнейшем, через 'if/elif' прописать действия за которые отвечает каждая кнопка.
> if callback_data_action == 'кнопка1':
Есть два (на мое мнение) важных/удобных метода. Это удаление сообщение и редактирование сообщения. Айди чата 'chat_id', айди сообщения 'msg_id' которое нужно удалить/изменить
> await bot.delete_message(chat_id, msg_id).
>
> await bot.edit_message_text('Сообщение', chat_id, msg_id,).
Очень удобно через метод 'edit_message_text' изменять текст сообщения при этом влаживать новые кнопки, расширяя функционал и возможности вашего бота. Как то так ...
---
> Мои контакты [Instagram](https://www.instagram.com/just.gray) / [Telegram](https://t.me/justgrayy)