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

Python编写的Telegram Bot inline模式无法正常响应问题求助

问题排查与修复

核心问题

当前代码仅注册了普通命令处理器与普通文本消息处理器,未配置inline模式对应的事件处理器,无法捕获inline查询请求,因此不会产生响应。

修复步骤

  1. 新增uuid模块导入,用于生成inline查询结果的唯一ID
  2. 新增inline查询处理函数
  3. 在调度器中注册InlineQueryHandler

修改后完整代码

from telegram.ext import *
from datetime import datetime
import uuid

weekdays = [0, 1, 2, 3, 4]
API_KEY = '********************************'

# 抽离公共回复逻辑,减少冗余
def get_daily_reply():
    name_of_day = datetime.today().weekday()
    if name_of_day in weekdays:
        return f"\U00002712 Its a weekday today"
    else:
        return f"&#x1F48E; <b>Its holiday</b>."

def start_command(update, context):
    reply = get_daily_reply()
    update.message.reply_text(reply, parse_mode='html')

def handle_message(update, context):
    reply = get_daily_reply()
    update.message.reply_text(reply, parse_mode='html')

def inline_query_handler(update, context):
    # 接收inline查询内容,当前示例不需要用到查询文本可直接忽略
    query = update.inline_query.query
    reply = get_daily_reply()
    # 构造返回结果
    results = [
        InlineQueryResultArticle(
            id=str(uuid.uuid4()),
            title="今日状态查询",
            input_message_content=InputTextMessageContent(reply, parse_mode='html')
        )
    ]
    # 回复inline查询,cache_time设置为0表示不缓存结果,每次查询都实时生成
    update.inline_query.answer(results, cache_time=0)

def main():
    updater = Updater(API_KEY)
    dp = updater.dispatcher
    dp.add_handler(CommandHandler('start', start_command))
    dp.add_handler(MessageHandler(Filters.text, handle_message))
    # 注册inline查询处理器
    dp.add_handler(InlineQueryHandler(inline_query_handler))
    updater.start_polling()
    updater.idle()

if __name__ == '__main__':
    main()

补充说明

  • 开启inline模式后如果仍无响应,可等待几分钟让BotFather的配置生效
  • inline模式的交互逻辑为:输入@机器人名 关键词后会弹出结果列表,点击结果才会发送到聊天窗口

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 01:54:03