# bot/handlers/commands/union_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.union_states import UnionStates from bot.templates import msg from middleware import log # Настройка экспорта и роутера __all__ = ("router",) router: Router = Router(name="union_cmd_router") @router.callback_query(F.data == "union") @router.message(Command('union','гтшщт', 'союз', prefix=BotInfo.prefix, ignore_case=True)) @log(level='INFO', log_type='Start', text="использовал(а) команду /union") async def create_cmd(message: Message|CallbackQuery, state: FSMContext) -> None: """ Обработчик команды /union. """ # Сбросим все состояния (отменим создание поста, если оно было) #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""" Приветствуем! Это бот для связи по вопросам союзов проекта ˚₊· ‌‌‌‌➳ 𝑆𝑦𝑠𝑡𝑒𝑚 𝑅𝑒𝑠𝑒𝑡 ·₊˚. Задайте свой вопрос, и мы постараемся ответить вам в ближайшее время — в некотором случае можем попроосить вас дать юз/ссылку на ваш проект. Предложение о заключении союзов должно выглядеть вот так: – Название – Юз и ссылка на инфо – Юз и ссылка на лайф – Условия союзов – Юзер следящего с вашей стороны – Желаемый следящий с нашей стороны (мы будем в праве поставить вам другого, но тот, которого вы назовёте, будет в приоритете) – Кодовое предложение из условий союзов. Оно состоит из 4 слов, которые расположены в верном порядке в статье о наших условиях сотрудничества. Имейте ввиду, что мы можем отказаться от союза без объяснения причин! """ # Обработчик ответа на сообщение await msg(message=message, text=caption, markup=ikb) # Установим состояние ожидания анкеты await state.set_state(UnionStates.waiting_for_union)