from __future__ import annotations import html WELCOME_RICH_HTML = """
Помогаю писать и редактировать посты для соцсетей. Расскажи, о чём нужен пост, а я верну три варианта: короткий, развёрнутый и с призывом к действию.
Также я умею запоминать твой стиль: пришли скриншоты своих постов. Хочешь идею — напиши «предложи тему».
Ниже — подробная инструкция по работе с ботом.
""" 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 дней.Когда период закончится, генерация постов и идей станет недоступна — бот предложит оформить подписку. Команды /help, /balance, /subscribe, /start и /clear работают всегда.
Быстрые slash-команды только на английском: /help — эта справка; /start — краткое описание бота; /clear — полностью обнулить твои данные бота, кроме технических API-логов; /idea — предложить одну идею для нового поста; /balance — статус подписки; /subscribe — оплатить подписку на 30 дней.
Можно попросить идею обычными словами: «предложи идею для поста», «о чём написать?», «накидай тему».
""", ), } HELP_SECTION_ORDER: tuple[str, ...] = tuple(HELP_SECTIONS) HELP_BACK = "⬅️ В меню" HELP_PREV = "⬅️ Предыдущий" HELP_NEXT = "➡️ Следующий" def _section_nav(section: str) -> str: buttons = [f'{HELP_MENU_INTRO}
" f"Я помогаю писать и редактировать посты для соцсетей. " f"Генерирую посты только по явной просьбе.
" f"{pairs}" ) def help_section_html(section: str) -> str: title, body = HELP_SECTIONS[section] return f"