Проблема с функцией для ответов Юзербота при сообщении более чем в 3000 символов

У меня есть функция для универсального ответа, но я не знаю откуда брать query.

При написании и использовании команд я получаю только message.

В этой функции не работает ответ, когда символов в сообщении больше 3000:

from pyrogram.types import InlineQueryResultArticle, InputTextMessageContent
from pyrogram import Client, enums, filters, idle
from pyrogram.types import InlineKeyboardButton, Message, CallbackQuery

from pyroboard import InlineKeyboard

parts_dict = {}

ub = Client() # Юзербот
app = Client() # Инлайн бот

async def answer(message: Message, text: str):
    # универсальная функция для ответа юзербота при привышении количества символов
    keyboard = InlineKeyboard()
    count = len(text)
    if count <= 3000:
        try:
            await ub.edit_message_text(message.chat.id, message.id, text)
        except:
            await ub.send_message(message.chat.id, text)
    else: ## не работает код ниже ##
        parts = [text[i:i+3000] for i in range(0, len(text), 3000)]
        keyboard.paginate(len(parts), 1, 'parts#{number}')
        
        query = None

        results = [
            InlineQueryResultArticle(
                title=f"parts",
                input_message_content=InputTextMessageContent(part),
                reply_markup=keyboard
            )
            for i, part in enumerate(parts)
        ]

        await app.answer_inline_query(query.id, results)

        result = await ub.get_inline_bot_results("@DF_Userbot", query="parts")
        await ub.send_inline_bot_result(message.chat.id, result.query_id, result.results[0].id)
        # Store the parts in a dictionary for later use
        global parts_dict
        parts_dict = {f"part#{i}": part for i, part in enumerate(parts)}

Ответы (0 шт):