Files
LawBot/bot/handlers/start.py
T
2026-05-25 01:12:43 +03:00

60 lines
1.7 KiB
Python

# Aiogram
import aiogram.types as types
from aiogram.fsm.context import FSMContext
from aiogram.filters import CommandStart, StateFilter
from aiogram import Router, F
# Utils
from utils.text_tools import to_html
# Const
from create_bot import orm
# Keyboards
from keyboards.reply_keyboards import get_main_menu_kb
# States
from states.client_states import MainStates
# Another
from datetime import datetime, timezone
# Init
start_router = Router()
@start_router.message(CommandStart(), StateFilter("*"))
async def cmd_start(message: types.Message, state: FSMContext):
if message.chat.type != "private":
return
user_id = message.from_user.id
username = (
"@" + message.from_user.username
if message.from_user.username is not None
else None
)
fullname = to_html(message.from_user.full_name)
await orm.create_user(
user_id=user_id,
username=username,
fullname=fullname,
register_date=datetime.now(timezone.utc),
)
msg_text = (
"Здравствуйте. Я юридический ИИ-консультант по законам РФ.\n\n"
"Я могу помочь:\n"
"— разобраться в ситуации;\n"
"— найти применимые нормы закона;\n"
"— объяснить их простыми словами;\n"
"— дать базовый план действий.\n\n"
"Ответ носит информационный характер и не заменяет консультацию юриста."
)
await message.answer(text=msg_text, reply_markup=get_main_menu_kb())
await state.set_state(MainStates.main)