mirror of
https://github.com/wasrusgen/zov-tech.git
synced 2026-06-03 19:04:49 +00:00
Брендирование как ЛИЧНЫЙ CRM Руслана Васильева (не ЗОВ). Splash: - Убрана inline-SVG ZOV-лого - Добавлена иконка пилы (assets/wasrusgen-saw.png, оранжевая, дыхательная анимация) - Wordmark «@WASRUSGEN1» — Inter Black 28pt, серый #4A4A4A, «1» в оранжевом - Подпись «сборщик» — Caveat 32pt оранж, поворот -3° (как в твоём лого) - Полоса прогресса теперь оранжевая Title окна: «WASRUSGEN1 · Кабинет» Theme-color: #F08720 (для статусной строки Telegram WebApp) Bot: - Menu-кнопка слева от ввода: «Кабинет» (вместо «ЗОВ») - Welcome /start: «@wasrusgen1 · сборщик — Рабочий кабинет Руслана Васильева» Footer клиента: «@wasrusgen1 · сборщик» + «Кабинет от Руслана Васильева» Meta клиента без менеджера: «@wasrusgen1 · сборщик» (вместо «ЗОВ — кухонная мебель») ZOV-упоминания НЕ убраны там, где это про реальный контекст (подбор техники для кухонь ЗОВ, AI-промпт, аудитория-менеджеры ЗОВ в роли «Сотрудник»). Cache bust v=20260513zd.
52 lines
1.6 KiB
Python
52 lines
1.6 KiB
Python
import asyncio
|
||
import logging
|
||
|
||
from aiogram import Bot, Dispatcher
|
||
from aiogram.client.default import DefaultBotProperties
|
||
from aiogram.enums import ParseMode
|
||
from aiogram.types import MenuButtonWebApp, WebAppInfo
|
||
|
||
from config import load_config
|
||
from handlers import start
|
||
|
||
|
||
async def main() -> None:
|
||
logging.basicConfig(
|
||
level=logging.INFO,
|
||
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
|
||
)
|
||
|
||
config = load_config()
|
||
bot = Bot(
|
||
token=config.bot_token,
|
||
default=DefaultBotProperties(parse_mode=ParseMode.HTML),
|
||
)
|
||
dp = Dispatcher()
|
||
|
||
dp["config"] = config
|
||
dp.include_router(start.router)
|
||
|
||
if config.use_webhook:
|
||
raise NotImplementedError("Webhook mode будет добавлен после MVP")
|
||
|
||
# Универсальная меню-кнопка — открывает MiniApp одним тапом.
|
||
# Внутри MiniApp пользователь выбирает роль (менеджер/клиент/сотрудник).
|
||
try:
|
||
await bot.set_chat_menu_button(
|
||
menu_button=MenuButtonWebApp(
|
||
text="Кабинет",
|
||
web_app=WebAppInfo(url=config.miniapp_url),
|
||
),
|
||
)
|
||
logging.info("Установлена меню-кнопка MiniApp: %s", config.miniapp_url)
|
||
except Exception as e:
|
||
logging.warning("Не удалось установить меню-кнопку: %s", e)
|
||
|
||
logging.info("Запуск в режиме polling")
|
||
await bot.delete_webhook(drop_pending_updates=True)
|
||
await dp.start_polling(bot)
|
||
|
||
|
||
if __name__ == "__main__":
|
||
asyncio.run(main())
|