# 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)