типо да
This commit is contained in:
13
bot/handlers/secret/__init__.py
Normal file
13
bot/handlers/secret/__init__.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from aiogram import Router
|
||||
from .secret1 import router as secret1_router
|
||||
#from .secret2 import router as secret2_router
|
||||
|
||||
# Настройка экспорта и роутера
|
||||
__all__ = ('router',)
|
||||
router: Router = Router(name=__name__)
|
||||
|
||||
# Подключение секретного роутера
|
||||
router.include_routers(
|
||||
secret1_router,
|
||||
#secret2_router,
|
||||
)
|
||||
45
bot/handlers/secret/secret1.py
Normal file
45
bot/handlers/secret/secret1.py
Normal file
@@ -0,0 +1,45 @@
|
||||
from aiogram import Router, F
|
||||
from aiogram.fsm.context import FSMContext
|
||||
from aiogram.types import Message
|
||||
from aiogram.utils.markdown import hide_link
|
||||
|
||||
from middleware.loggers import log
|
||||
|
||||
# Настройки экспорта и роутера
|
||||
__all__ = ("router",)
|
||||
router: Router = Router(name="secret_router")
|
||||
CMD: str = "secret_1"
|
||||
|
||||
|
||||
@router.message(F.text.lower() == "истинная цель короля всегда было мироздание")
|
||||
@log(level='INFO', log_type=CMD.upper(), text=f"использовал команду /{CMD}")
|
||||
async def secret1_cmd(message: Message, state: FSMContext) -> None:
|
||||
"""Обработчик секретов"""
|
||||
await state.clear()
|
||||
|
||||
# Формируем приветственное сообщение
|
||||
text: str = f"""{hide_link("https://rp.primo.dpdns.org/wp-content/uploads/2025/08/1234567.png")}
|
||||
<b><u>Запись №-...18</u></b>
|
||||
|
||||
<blockquote><i>Значит, этот </i><i><b>правда</b> действительно </i><i><b>существует…</b> Хах.. Хахахах! Я смог найти решение</i><i><b>! Я!! СМОГ!!!</b>
|
||||
Все линии, пропорции, каждый слой металла и кристалла — всё сходится.
|
||||
Сколько лет я </i><i><b>скитался</b> по лабораториям, библиотекам, ища этот след… а ведь всё это время </i><i><b>ключ</b> к моей цели лежал прямо перед глазами — на чертеже.</i></blockquote>
|
||||
|
||||
<blockquote><i>Получится ли у меня...?\n
|
||||
Я создаю не просто броню. Я пытаюсь воплотить в материале замысел, который перевернёт всё, что мы знали.
|
||||
Каждый слой, каждая руна — это шаг к воплощению моей идеи. Даже спустя десятки лет я помню, как возвращал из небытия те конструкции, что раньше казались невозможными…</i></blockquote>
|
||||
|
||||
<blockquote><i>Возможно ли, что сама структура материи и магии </i><i><b>изменит..</b>
|
||||
Или же это моя броня станет первым устройством, способное изменить их мнение?..</i></blockquote>
|
||||
|
||||
<blockquote><i>И всё же один вопрос не даёт мне покоя: сможет ли этот замысел завершить то, что я задумал…
|
||||
Станет ли моя броня инструментом, с помощью которого замысел воплотится в реальность?..</i></blockquote>
|
||||
|
||||
<blockquote><i>Пожалуй, придётся ещё раз вернуться к чертежам и проверить расчёты.
|
||||
Что-то подсказывает мне: каждая линия, каждый символ на этом листе — это не просто металл и руны, это путь к моей великой… </i><i><b>идее</b>. ~</i></blockquote>
|
||||
|
||||
<tg-spoiler>Да… это оно. Всё ведёт к замыслу, к который я стремился десятилетиями…</tg-spoiler>"""
|
||||
|
||||
|
||||
# Отправляем сообщение
|
||||
await message.reply(text=text)
|
||||
134
bot/handlers/secret/secret2.py
Normal file
134
bot/handlers/secret/secret2.py
Normal file
@@ -0,0 +1,134 @@
|
||||
from aiogram import Router, F
|
||||
from aiogram.filters import Command, StateFilter
|
||||
from aiogram.fsm.context import FSMContext
|
||||
from aiogram.fsm.state import State, StatesGroup
|
||||
from aiogram.types import Message
|
||||
|
||||
# Создаем роутер
|
||||
knowledge_router = Router()
|
||||
|
||||
|
||||
# Определяем состояния
|
||||
class KnowledgeStates(StatesGroup):
|
||||
question1 = State()
|
||||
question2 = State()
|
||||
question3 = State()
|
||||
question4 = State()
|
||||
question5 = State()
|
||||
question6 = State()
|
||||
|
||||
|
||||
# Вопросы и ответы (замените на свои)
|
||||
QUESTIONS = {
|
||||
1: "Вопрос1",
|
||||
2: "Вопрос2",
|
||||
3: "Вопрос3",
|
||||
4: "Вопрос4",
|
||||
5: "Вопрос5",
|
||||
6: "Вопрос6"
|
||||
}
|
||||
|
||||
ANSWERS = {
|
||||
1: {"Ответ 11": "СообщениеА1", "Ответ 12": "СообщениеБ1"},
|
||||
2: {"Ответ 21": "СообщениеА2", "Ответ 22": "СообщениеБ2"},
|
||||
3: {"Ответ 31": "СообщениеА3", "Ответ 32": "СообщениеБ3"},
|
||||
4: {"Ответ 41": "СообщениеА4", "Ответ 42": "СообщениеБ4"},
|
||||
5: {"Ответ 51": "СообщениеА5", "Ответ 52": "СообщениеБ5"},
|
||||
6: {"Ответ 61": "СообщениеА6", "Ответ 62": "СообщениеБ6"}
|
||||
}
|
||||
|
||||
FINAL_MESSAGES = {
|
||||
"all_1": "ИТОГ1 - Все ответы первого типа!",
|
||||
"all_2": "ИТОГ2 - Все ответы второго типа!",
|
||||
"mixed": "ИТОГ1 - Смешанные ответы!"
|
||||
}
|
||||
|
||||
|
||||
# Запуск сессии знаний
|
||||
@knowledge_router.message(StateFilter(None), Command("знания"))
|
||||
@knowledge_router.message(StateFilter(None), F.text.casefold() == "пора заняться знаниями")
|
||||
async def start_knowledge_session(message: Message, state: FSMContext):
|
||||
await message.answer("Отлично! Начинаем сессию знаний! 🧠")
|
||||
await message.answer(QUESTIONS[1])
|
||||
await state.set_state(KnowledgeStates.question1)
|
||||
await state.update_data(answers={})
|
||||
|
||||
|
||||
# Обработчики для каждого вопроса
|
||||
@knowledge_router.message(KnowledgeStates.question1, F.text.in_(ANSWERS[1].keys()))
|
||||
async def process_question1(message: Message, state: FSMContext):
|
||||
user_answer = message.text
|
||||
response_message = ANSWERS[1][user_answer]
|
||||
|
||||
# Сохраняем ответ
|
||||
answer_code = 1 if user_answer == "Ответ 11" else 2
|
||||
await state.update_data(answers={"q1": answer_code})
|
||||
|
||||
# Отправляем сообщение и следующий вопрос
|
||||
await message.answer(response_message + "\n\n" + QUESTIONS[2])
|
||||
await state.set_state(KnowledgeStates.question2)
|
||||
|
||||
|
||||
@knowledge_router.message(KnowledgeStates.question2, F.text.in_(ANSWERS[2].keys()))
|
||||
async def process_question2(message: Message, state: FSMContext):
|
||||
user_answer = message.text
|
||||
response_message = ANSWERS[2][user_answer]
|
||||
|
||||
# Сохраняем ответ
|
||||
answer_code = 1 if user_answer == "Ответ 21" else 2
|
||||
data = await state.get_data()
|
||||
answers = data.get("answers", {})
|
||||
answers["q2"] = answer_code
|
||||
await state.update_data(answers=answers)
|
||||
|
||||
# Отправляем сообщение и следующий вопрос
|
||||
await message.answer(response_message + "\n\n" + QUESTIONS[3])
|
||||
await state.set_state(KnowledgeStates.question3)
|
||||
|
||||
|
||||
# Добавьте аналогичные обработчики для question3-question5
|
||||
|
||||
@knowledge_router.message(KnowledgeStates.question6, F.text.in_(ANSWERS[6].keys()))
|
||||
async def process_question6(message: Message, state: FSMContext):
|
||||
user_answer = message.text
|
||||
response_message = ANSWERS[6][user_answer]
|
||||
|
||||
# Сохраняем ответ
|
||||
answer_code = 1 if user_answer == "Ответ 61" else 2
|
||||
data = await state.get_data()
|
||||
answers = data.get("answers", {})
|
||||
answers["q6"] = answer_code
|
||||
await state.update_data(answers=answers)
|
||||
|
||||
# Отправляем финальное сообщение
|
||||
await message.answer(response_message)
|
||||
await finish_knowledge_session(message, state)
|
||||
|
||||
|
||||
# Обработчики для некорректных ответов
|
||||
@knowledge_router.message(KnowledgeStates.question1)
|
||||
async def process_incorrect_answer1(message: Message):
|
||||
await message.answer("Пожалуйста, выберите один из предложенных вариантов ответа.")
|
||||
await message.answer(QUESTIONS[1])
|
||||
|
||||
|
||||
@knowledge_router.message(KnowledgeStates.question2)
|
||||
async def process_incorrect_answer2(message: Message):
|
||||
await message.answer("Пожалуйста, выберите один из предложенных вариантов ответа.")
|
||||
await message.answer(QUESTIONS[2])
|
||||
|
||||
|
||||
# Добавьте аналогичные обработчики для остальных вопросов
|
||||
|
||||
# Завершение сессии
|
||||
async def finish_knowledge_session(message: Message, state: FSMContext):
|
||||
data = await state.get_data()
|
||||
answers = data.get("answers", {})
|
||||
|
||||
# Проверяем результаты
|
||||
if all(answer == 2 for answer in answers.values()):
|
||||
await message.answer(FINAL_MESSAGES["all_2"])
|
||||
else:
|
||||
await message.answer(FINAL_MESSAGES["mixed"])
|
||||
|
||||
await state.clear()
|
||||
Reference in New Issue
Block a user