from __future__ import annotations import html WELCOME_RICH_HTML = """
Помогаю писать и редактировать посты для соцсетей. Расскажи, о чём нужен пост, а я верну три варианта: короткий, развёрнутый и с призывом к действию.
Работай в одном из режимов: «Лобби», «Обучение», «Генерация», «Подписка» или «Помощь». Выбери режим кнопкой в нижнем меню или slash-командой: /lobby, /training, /generate, /subscription, /help. /start возвращает в лобби.
В режиме «Обучение» пришли скриншоты своих постов; в режиме «Генерация» попроси идею или пост.
""" HELP_MENU_TITLE = "Помощь по боту" HELP_MENU_INTRO = "Выбери раздел — откроется только он. Из любого раздела можно перейти в любой." HELP_SECTIONS: dict[str, tuple[str, str]] = { "posts": ( "✍️ Написать пост", """В сообщениях с вариантами будет только текст поста: без нумерации и вступлений, с абзацами, переносами строк и уместными эмодзи.
""", ), "tone": ( "🎨 Tone of Voice", """Пришли скриншот или галерею скриншотов своих опубликованных постов. Я распознаю текст постов и сохраню его как образцы, дополню предыдущие примеры и обновлю только правила Tone of Voice. Сами публикации не переписываю.
""", ), "edit": ( "✏️ Правка поста", """Ответь реплаем на сообщение с вариантом и укажи, что изменить. Например: «Сделай короче и добавь призыв». Я учту оригинальный текст и верну три новых варианта отдельными сообщениями.
""", ), "idea": ( "💡 Идея для поста", """Напиши «предложи идею для поста», «о чём написать?» или «накидай тему» — верну одну идею. Команда /idea работает так же.
Идеи сохраняются, чтобы не повторяться: каждая новая идея отличается от предыдущих.
""", ), "subscription": ( "💳 Подписка", """У тебя есть пробный период — 3 дня бесплатно. Дальше — подписка на 30 дней за 100 звёзд.
/balance — узнать статус: сколько осталось дней триала или подписки./subscribe — оплатить подписку на 30 дней.Сначала открой режим «Подписка» кнопкой или командой /subscription, затем используй /balance или /subscribe. Когда период закончится, генерация постов и идей станет недоступна. Команды переключения режимов доступны всегда.
Команды-переключатели доступны в любом режиме: /start и /lobby — лобби; /training — обучение; /generate — генерация; /subscription — подписка; /help — помощь.
Действия доступны только в своём режиме: /style и /clear — обучение; /post и /idea — генерация; /balance и /subscribe — подписка. /clear очищает пользовательские данные, но не меняет подписку и триал.
В режиме «Генерация» можно попросить идею обычными словами: «предложи идею для поста», «о чём написать?», «накидай тему».
""", ), } HELP_SECTION_ORDER: tuple[str, ...] = tuple(HELP_SECTIONS) HELP_MENU_BUTTON = "⌂ В меню" def _menu_buttons(current: str | None = None) -> str: rows = [] for section in HELP_SECTION_ORDER: title = HELP_SECTIONS[section][0] if section == current: button = f'{HELP_MENU_INTRO}
" f"Я помогаю писать и редактировать посты для соцсетей. " f"Генерирую посты только по явной просьбе.
" f"{_menu_buttons(current)}" ) def help_section_html(section: str) -> str: title, body = HELP_SECTIONS[section] return f"