Обновление 4.2
This commit is contained in:
@@ -2,7 +2,6 @@
|
||||
# Инициализация пакета keyboards, для работы с клавиатурами
|
||||
|
||||
from aiogram import Router
|
||||
from .inline_kb import router as inline_kb_router
|
||||
from .reply_kb import router as reply_kb_router
|
||||
from .inline_kb import *
|
||||
from .reply_kb import *
|
||||
@@ -13,7 +12,4 @@ router = Router(name="kb_router")
|
||||
|
||||
|
||||
# Список подключаемых роутеров сверху-вниз
|
||||
router.include_routers(
|
||||
inline_kb_router,
|
||||
reply_kb_router,
|
||||
)
|
||||
router.include_routers(reply_kb_router)
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
# BotCode/keyboards/inline_kb/__init__.py
|
||||
# Инициализация пакета inline_keyboards, для работы с инлайн клавиатурами
|
||||
|
||||
from aiogram import Router
|
||||
from .actor_kb import *
|
||||
from .randnum_kb import *
|
||||
|
||||
# Объявление роутера и настройка экспорта модулей
|
||||
__all__ = ("router", "actor_kb", "ButtonInl")
|
||||
router = Router(name="inline_kb_router")
|
||||
__all__ = ("randnum_kb", "actor_kb")
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
# BotCode/keyboards/inline_kb/actor_kb.py
|
||||
# Создания инлайн-клавиатуры на команду: /actor
|
||||
|
||||
from aiogram import Router
|
||||
from aiogram.types import InlineKeyboardMarkup
|
||||
from aiogram.utils.keyboard import InlineKeyboardBuilder
|
||||
from BotLibrary import ikb
|
||||
|
||||
# Создание роутера и настройка экспорта
|
||||
__all__ = ("router", "get_actor_kb", "kb_text", "ButtonInl",)
|
||||
kb_text = "ActorKb"
|
||||
router = Router(name="actor_kb_router")
|
||||
__all__ = ("get_actor_kb", "ButtonInl")
|
||||
|
||||
|
||||
# Класс с параметрами кнопок
|
||||
@@ -35,20 +32,14 @@ class ButtonInl:
|
||||
|
||||
# Функция создания клавиатуры на команду: /actor
|
||||
def get_actor_kb() -> InlineKeyboardMarkup:
|
||||
# Создаем билдер клавиатуры
|
||||
builder = InlineKeyboardBuilder()
|
||||
|
||||
# Добавляем кнопки, группируя их по строкам
|
||||
builder.button(text=ButtonInl.tg_chn, url=ButtonInl.tg_chn_url)
|
||||
builder.button(text=ButtonInl.tg_chat, url=ButtonInl.tg_chat_url)
|
||||
|
||||
builder.button(text=ButtonInl.web_text, url=ButtonInl.web_url)
|
||||
builder.button(text=ButtonInl.random_site, callback_data=ButtonInl.random_site_cbd)
|
||||
builder.button(text=ButtonInl.random_num_dice, callback_data=ButtonInl.random_num_dice_cbd)
|
||||
builder.button(text=ButtonInl.random_num_modal, callback_data=ButtonInl.random_num_modal_cdb)
|
||||
|
||||
builder.adjust(2, 1)
|
||||
|
||||
return builder.as_markup()
|
||||
ikb.button(text=ButtonInl.tg_chn, url=ButtonInl.tg_chn_url)
|
||||
ikb.button(text=ButtonInl.tg_chat, url=ButtonInl.tg_chat_url)
|
||||
|
||||
ikb.button(text=ButtonInl.web_text, url=ButtonInl.web_url)
|
||||
ikb.button(text=ButtonInl.random_site, callback_data=ButtonInl.random_site_cbd)
|
||||
ikb.button(text=ButtonInl.random_num_dice, callback_data=ButtonInl.random_num_dice_cbd)
|
||||
ikb.button(text=ButtonInl.random_num_modal, callback_data=ButtonInl.random_num_modal_cdb)
|
||||
|
||||
ikb.adjust(2, 1)
|
||||
return ikb.as_markup()
|
||||
|
||||
@@ -1,27 +1,21 @@
|
||||
# BotCode/keyboards/inline_kb/randnum_kb.py
|
||||
# Создания инлайн-клавиатуры на команду: /randnum
|
||||
|
||||
from aiogram import Router
|
||||
from aiogram.types import InlineKeyboardMarkup
|
||||
from aiogram.utils.keyboard import InlineKeyboardBuilder
|
||||
from BotLibrary import ikb
|
||||
|
||||
# Создание роутера и настройка экспорта
|
||||
__all__ = ("router", "get_randnum_kb", "kb_text", "ButtonInl",)
|
||||
kb_text = "RandNumKb"
|
||||
router = Router(name="actor_kb_router")
|
||||
__all__ = ("get_randnum_kb", "ButtonInl")
|
||||
|
||||
|
||||
# Класс с параметрами кнопок
|
||||
class ButtonInl:
|
||||
text = "Получить ответ"
|
||||
mark_cbd = "mark_cbd"
|
||||
|
||||
|
||||
# Функция создания клавиатуры на команду: /actor
|
||||
def get_randnum_kb(text_msg="Получить ответ") -> InlineKeyboardMarkup:
|
||||
# Создаем билдер клавиатуры
|
||||
builder = InlineKeyboardBuilder()
|
||||
|
||||
# Добавляем кнопки, группируя их по строкам
|
||||
builder.button(text=text_msg, callback_data=ButtonInl.mark_cbd)
|
||||
|
||||
return builder.as_markup()
|
||||
def get_randnum_kb() -> InlineKeyboardMarkup:
|
||||
ikb.button(text=ButtonInl.text, callback_data=ButtonInl.mark_cbd)
|
||||
ikb.add_row(1)
|
||||
return ikb.as_markup()
|
||||
|
||||
@@ -2,19 +2,13 @@
|
||||
# Инициализация пакета reply_kb, для работы с клавиатурами
|
||||
|
||||
from aiogram import Router
|
||||
from .start_kb import router as start_kb_router
|
||||
from .help_kb import router as help_kb_router
|
||||
from .more_kb import router as more_kb_router
|
||||
|
||||
|
||||
# Объявление роутера и настройка экспорта модулей
|
||||
__all__ = ("router",)
|
||||
router = Router(name="reply_kb_router")
|
||||
router = Router(name=__name__)
|
||||
|
||||
|
||||
# Список подключаемых роутеров сверху-вниз
|
||||
router.include_routers(
|
||||
start_kb_router,
|
||||
help_kb_router,
|
||||
more_kb_router,
|
||||
)
|
||||
router.include_routers(help_kb_router)
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
# BotCode/keyboards/reply_kb/help_kb.py
|
||||
# Создание клавиатуры для сообщения: "Помогите!"
|
||||
# Создает небольшую числовую клавиатуру для тестов
|
||||
|
||||
from aiogram import Router, F
|
||||
from aiogram.types import ReplyKeyboardMarkup, KeyboardButton
|
||||
from aiogram.utils.keyboard import ReplyKeyboardBuilder
|
||||
from BotLibrary import rkb
|
||||
|
||||
# Создание роутера и настройка экспорта модулей
|
||||
__all__ = ("router", "get_help_kb", "kb_text",)
|
||||
kb_text = "HelpKb"
|
||||
__all__ = ("router", "get_help_kb")
|
||||
router = Router(name="help_kb_router")
|
||||
|
||||
|
||||
@@ -18,15 +18,13 @@ def get_help_kb() -> ReplyKeyboardMarkup:
|
||||
"1️⃣", "2️⃣", "3️⃣",
|
||||
"4️⃣", "5️⃣", "6️⃣",
|
||||
"7️⃣", "8️⃣", "9️⃣",
|
||||
"0️⃣",
|
||||
"0️⃣",
|
||||
]
|
||||
|
||||
# Создание кнопки каждого числа по отдельности
|
||||
buttons_row = [KeyboardButton(text=num) for num in numbers]
|
||||
builder = ReplyKeyboardBuilder()
|
||||
for num in numbers:
|
||||
builder.button(text=num)
|
||||
builder.adjust(3)
|
||||
builder.row(buttons_row[3], buttons_row[9])
|
||||
builder.add(buttons_row[-1])
|
||||
rkb.button(text=num)
|
||||
|
||||
return builder.as_markup(resize_keyboard=True)
|
||||
rkb.adjust(3)
|
||||
return rkb.as_markup(resize_keyboard=True)
|
||||
|
||||
@@ -1,39 +1,25 @@
|
||||
# BotCode/keyboards/reply_kb/more_kb.py
|
||||
# Создания клавиатуры на команду: /more
|
||||
# Для проверки отправки информации о пользователе
|
||||
|
||||
from aiogram import Router
|
||||
from aiogram.types import KeyboardButtonPollType
|
||||
from aiogram.utils.keyboard import ReplyKeyboardBuilder
|
||||
from aiogram.types import KeyboardButtonPollType, ReplyKeyboardMarkup
|
||||
from BotLibrary import rkb
|
||||
|
||||
# Создание роутера и настройка экспорта модулей
|
||||
__all__ = ("router", "get_more_kb", "kb_text",)
|
||||
kb_text = "HelpKb"
|
||||
router = Router(name="more_kb_router")
|
||||
# Настройка экспорта из этого модуля
|
||||
__all__ = ("get_more_kb", "ButtonText")
|
||||
|
||||
|
||||
# Класс с названиями кнопок
|
||||
# Создание класса со значениями кнопок
|
||||
class ButtonText:
|
||||
More = "More"
|
||||
Location = "Отправить локацию"
|
||||
Contact = "Отправить контакт"
|
||||
Chat = "Отправить чат???"
|
||||
Poll = "Отправить опрос"
|
||||
Users = "Что то с common"
|
||||
|
||||
|
||||
# Функция создания клавиатуры на команду: /more
|
||||
def get_more_kb() -> ReplyKeyboardBuilder:
|
||||
builder = ReplyKeyboardBuilder()
|
||||
# builder.add(KeyboardButton(text=ButtonText.Location, request_location=True))
|
||||
builder.button(text=ButtonText.Location, request_location=True)
|
||||
builder.button(text=ButtonText.Contact, request_contact=True)
|
||||
builder.button(text=ButtonText.Poll, request_poll=KeyboardButtonPollType())
|
||||
|
||||
builder.adjust(1)
|
||||
return builder.as_markup(resize_keyboard=True)
|
||||
|
||||
# Один из вариантов создание клавиатуры
|
||||
# markup = ReplyKeyboardMarkup(
|
||||
# keyboard=[]
|
||||
# )
|
||||
# return markup
|
||||
def get_more_kb() -> ReplyKeyboardMarkup:
|
||||
rkb.button(text=ButtonText.Location, request_location=True)
|
||||
rkb.button(text=ButtonText.Contact, request_contact=True)
|
||||
rkb.button(text=ButtonText.Poll, request_poll=KeyboardButtonPollType())
|
||||
rkb.adjust(1)
|
||||
return rkb.as_markup(resize_keyboard=True, one_time_keyboard=True)
|
||||
|
||||
@@ -1,17 +1,15 @@
|
||||
# BotCode/keyboards/reply_kb/start_kb.py
|
||||
# Создания клавиатуры на команду: /start
|
||||
# Для создания базовой клавиатуры с некими элементами
|
||||
|
||||
from aiogram import Router
|
||||
from aiogram.types import ReplyKeyboardMarkup, KeyboardButton
|
||||
from aiogram.utils.keyboard import ReplyKeyboardBuilder
|
||||
from aiogram.types import ReplyKeyboardMarkup
|
||||
from BotLibrary import rkb
|
||||
|
||||
# Создание роутера и настройка экспорта
|
||||
__all__ = ("router", "get_start_kb", "kb_text", "ButtonText",)
|
||||
kb_text = "StartKb"
|
||||
router = Router(name="start_kb_router")
|
||||
# Настройка экспорта из этого модуля
|
||||
__all__ = ("get_start_kb", "ButtonText")
|
||||
|
||||
|
||||
# Класс с названиями кнопок
|
||||
# Создание класса со значениями кнопок
|
||||
class ButtonText:
|
||||
Hello = "Привет!"
|
||||
Help = "Помогите!"
|
||||
@@ -19,16 +17,9 @@ class ButtonText:
|
||||
|
||||
|
||||
# Функция создания клавиатуры на команду: /start
|
||||
def get_start_kb() -> ReplyKeyboardBuilder:
|
||||
button_hello = KeyboardButton(text=ButtonText.Hello)
|
||||
button_help = KeyboardButton(text=ButtonText.Help)
|
||||
button_bye = KeyboardButton(text=ButtonText.Bye)
|
||||
|
||||
buttons_first_row = [button_hello, button_help]
|
||||
buttons_second_row = [button_bye]
|
||||
markup = ReplyKeyboardMarkup(
|
||||
keyboard=[buttons_first_row, buttons_second_row],
|
||||
resize_keyboard=True,
|
||||
one_time_keyboard=True,
|
||||
)
|
||||
return markup
|
||||
def get_start_kb() -> ReplyKeyboardMarkup:
|
||||
rkb.button(text=ButtonText.Hello)
|
||||
rkb.button(text=ButtonText.Help)
|
||||
rkb.button(text=ButtonText.Bye)
|
||||
rkb.adjust(2)
|
||||
return rkb.as_markup(resize_keyboard=True, one_time_keyboard=True)
|
||||
|
||||
23
BotCode/keyboards/reply_kb/survey_yesno_kb.py
Normal file
23
BotCode/keyboards/reply_kb/survey_yesno_kb.py
Normal file
@@ -0,0 +1,23 @@
|
||||
# BotCode/keyboards/reply_kb/survey_yesno_kb.py
|
||||
# Создания клавиатуры на команду: /survey
|
||||
# Для того, чтобы определить отправлять ли сообщения в будущем
|
||||
|
||||
from aiogram.types import ReplyKeyboardMarkup
|
||||
from BotLibrary import rkb
|
||||
|
||||
# Настройка экспорта из этого модуля
|
||||
__all__ = ("get_survey_email_kb", "ButtonText")
|
||||
|
||||
|
||||
# Создание класса со значениями кнопок
|
||||
class ButtonText:
|
||||
Yes = "Да"
|
||||
No = "Нет"
|
||||
|
||||
|
||||
# Функция создания клавиатуры на команду: /survey
|
||||
def get_survey_email_kb() -> ReplyKeyboardMarkup:
|
||||
rkb.button(text=ButtonText.Yes)
|
||||
rkb.button(text=ButtonText.No)
|
||||
rkb.adjust(1)
|
||||
return rkb.as_markup(resize_keyboard=True, one_time_keyboard=True)
|
||||
Reference in New Issue
Block a user