You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用pyTelegramBotAPI实现Inline模式机器人?功能无响应求助

解决Telegram机器人Inline模式无响应问题

一、先确认核心权限配置

  • 打开BotFather,给目标机器人发送 /setinline
  • 按提示设置Inline模式的占位提示文本(比如"输入内容触发结果")
  • 收到BotFather的权限开启确认提示后再进行代码调试

二、检查依赖与基础配置

  • 确保API_TOKEN填写的是BotFather提供的完整、正确令牌
  • 升级pyTelegramBotAPI到最新版本:
pip install --upgrade pytelegrambotapi

三、可运行的修正版代码

以下代码简化逻辑,确保所有Inline查询都能被响应:

import telebot
from telebot import types

# 替换为你的机器人API令牌
API_TOKEN = "你的机器人API_TOKEN"
bot = telebot.TeleBot(API_TOKEN)

# 响应所有Inline查询
@bot.inline_handler(lambda query: True)
def handle_inline_queries(inline_query):
    try:
        # 构造两个基础文本结果
        result1 = types.InlineQueryResultArticle(
            id="1",
            title="结果1",
            input_message_content=types.InputTextMessageContent("你选择了第一个结果")
        )
        result2 = types.InlineQueryResultArticle(
            id="2",
            title="结果2",
            input_message_content=types.InputTextMessageContent("你选择了第二个结果")
        )
        # 回复查询,cache_time设为0避免缓存旧结果
        bot.answer_inline_query(inline_query.id, [result1, result2], cache_time=0)
    except Exception as e:
        print(f"运行错误:{e}")

if __name__ == '__main__':
    # 启动长轮询,无需额外循环
    bot.infinity_polling(timeout=10, long_polling_timeout=5)

四、测试与排查

  1. 运行代码后,在Telegram任意聊天框输入 @你的机器人用户名 任意内容,正常情况下会立即弹出结果列表
  2. 如果仍无响应:
    • 查看控制台是否有报错信息
    • 确认运行环境能正常访问Telegram API(国内服务器需配置代理)
    • 检查机器人是否被Telegram限制功能

内容的提问来源于stack exchange,提问作者Mykola

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 02:55:34