Add help and inline query handlers

This commit is contained in:
arsam
2026-09-18 22:41:19 +03:30
parent d2f106cc9e
commit 98c2831386
2 changed files with 123 additions and 0 deletions
+36
View File
@@ -0,0 +1,36 @@
import uuid
from telegram import Update, InlineQueryResultArticle, InputTextMessageContent
from telegram.ext import ContextTypes
from services import auth, ai_client
from utils.context import get_system_prompt, get_user_settings
async def inline_handler(update: Update, context: ContextTypes.DEFAULT_TYPE):
query = update.inline_query.query.strip()
user_id = update.inline_query.from_user.id
if not auth.is_authorized(user_id):
await update.inline_query.answer([], cache_time=0)
return
if not query:
await update.inline_query.answer([], cache_time=0)
return
try:
settings = get_user_settings(user_id)
max_tokens = min(settings["max_tokens"], 300)
answer = await ai_client.quick_reply(query, get_system_prompt(), max_tokens=max_tokens)
except Exception as e:
answer = f"Error: {e}"
result = InlineQueryResultArticle(
id=str(uuid.uuid4()),
title="Puppy's answer",
description=answer[:120] + ("…" if len(answer) > 120 else ""),
input_message_content=InputTextMessageContent(
message_text=answer,
),
)
await update.inline_query.answer([result], cache_time=0)