Вызов inline бота через telethon

Всем привет, мучаюсь второй день с проблемой. Пытаюсь вызвать инлайн-бота в Telegram с помощью библиотеки Telethon в Python. Мне нужно, чтобы скрипт работал под учетной записью пользователя и отправлял сообщения, как если бы это делал реальный человек.

Проблема в том, что Telethon не позволяет идеально имитировать поведение пользователя при вызове инлайн-бота. Результаты запроса успешно приходят, но я не могу заставить Telegram отобразить их с пометкой "через @bot_username" сверху сообщения, как это происходит при обычном использовании инлайн-бота. Возможно кто то знает обход этого или какие то другие способы реализовать вызов inline бота?

вызов inline через скрипт

корректный вызов inline бота вручную

Вот фрагмент моего кода:


    try:
            # Получаем результаты инлайн-запроса
            results = await client(GetInlineBotResultsRequest(
                bot=await client.get_entity(bot_username),
                peer=await event.get_input_chat(),
                query=symbol,
                offset=''
            ))
    
            if results.results:
                # Отправляем первый результат
                await client.send_message(
                    entity=event.chat_id,
                    message=results.results[0].id,
                    reply_to=event.id
                )
                print(f"Успешно отправлен инлайн-результат для {symbol}")
            else:
                print("Бот не вернул результатов")
    
        except Exception as e:
            print(f"Ошибка вызова бота: {str(e)[:100]}")
    
    @client.on(events.NewMessage(incoming=True))
    async def handler(event):
        if event.out or not event.text:
            return
    
        # Проверка ключевых слов
        if any(kw in event.raw_text.lower() for kw in keywords):
            try:
                # Искусственная задержка
                await asyncio.sleep(1.5)
                
                # Определяем криптовалюту
                symbol = await detect_crypto(event.raw_text)
                if not symbol:
                    return
    
                # Вызываем инлайн-бота
                await call_inline_bot(event, symbol)
    
            except Exception as e:
                print(f"Ошибка обработки: {e}")


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