# bot/handlers/commands/create_cmd.py from aiogram import Router, F from aiogram.filters import Command from aiogram.types import Message, CallbackQuery, InlineKeyboardButton from aiogram.utils.keyboard import InlineKeyboardBuilder from aiogram.fsm.context import FSMContext from bot.core import BotInfo from bot.states.anketa_states import StartForm from bot.templates import msg_photo from middleware import log # Настройка экспорта и роутера __all__ = ("router",) router: Router = Router(name="create_cmd_router") @router.callback_query(F.data == "create") @router.message(Command('create','скуфеу', 'анкета', prefix=BotInfo.prefix, ignore_case=True)) @log(level='INFO', log_type='Start', text="использовал(а) команду /create") async def create_cmd(message: Message|CallbackQuery, state: FSMContext) -> None: """ Обработчик команды /create. """ # Сбросим все состояния (отменим создание поста, если оно было) await state.clear() # Создание инлайн-клавиатуры ikb: InlineKeyboardBuilder = InlineKeyboardBuilder() ikb.row(InlineKeyboardButton(text="Правила❗️", url='https://teletype.in/@velli_arsaan/XxUiHcB4Puj')) ikb.row(InlineKeyboardButton(text="Назад↪️", callback_data='start')) # Создание базовых переменных сообщения caption: str = f""" Если вы хотели бы вступить в наш проект, то напоминаю, что вам сначала нужно ознакомиться с инфо-каналом! При продолжении диалога вы автоматически подтверждаете то, что прочитали все правила и в курсе, что мы ролевой проект, не флуд.
Чтобы вступить к вам мы просим вас заполнить небольшую анкету: 1. Желаемая роль; 2. Кого бы вы хотели в соролы?; 3. Кодовая фраза из наших правил;[‼️] Оно состоит всего из 4 слов, которые разбросаны в верном порядке по статьям о правилах. """ # Установим состояние ожидания анкеты await state.set_state(StartForm.waiting_for_application) # Обработчик ответа на сообщение await msg_photo(message=message, text=caption, file='assets/help.png', markup=ikb)