45 lines
2.0 KiB
Python
45 lines
2.0 KiB
Python
from aiogram import Router
|
|
from aiogram.filters import Command
|
|
from aiogram.types import Message
|
|
|
|
from bot.access import access_denied_text, is_allowed
|
|
from bot.config import Settings
|
|
|
|
router = Router()
|
|
|
|
HELP_TEXT = """Команды:
|
|
/start — приветствие и привязка
|
|
/help — эта справка
|
|
/whoami — текущий пользователь Home Assistant
|
|
/logout — отвязать API-токен
|
|
/newchat — новая сессия чата в Telegram
|
|
|
|
Обычный текст — сообщение домашнему ассистенту.
|
|
|
|
Чтобы привязать аккаунт, отправь API-токен одним сообщением (из Settings → Пользователи на домашнем сервере). После привязки лучше удалить сообщение с токеном."""
|
|
|
|
|
|
@router.message(Command("start"))
|
|
async def cmd_start(message: Message, settings: Settings) -> None:
|
|
if not is_allowed(message, settings):
|
|
await message.answer(access_denied_text())
|
|
return
|
|
|
|
await message.answer(
|
|
"Привет! Я мост к домашнему ассистенту Home Assistant.\n\n"
|
|
"Отправь API-токен одним сообщением, чтобы привязать аккаунт. "
|
|
"Токен можно создать в веб-интерфейсе (Settings → Пользователи) "
|
|
"или через create_user.py на сервере.\n\n"
|
|
"После привязки все оповещения (напоминания, помидоро и т.д.) "
|
|
"будут дублироваться сюда.\n\n"
|
|
"Справка: /help"
|
|
)
|
|
|
|
|
|
@router.message(Command("help"))
|
|
async def cmd_help(message: Message, settings: Settings) -> None:
|
|
if not is_allowed(message, settings):
|
|
await message.answer(access_denied_text())
|
|
return
|
|
await message.answer(HELP_TEXT)
|