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

python-telegram-bot inline查询报错input message content is not specified如何解决

问题解决方法

报错Can't parse inline query result: input message content is not specified的核心原因是传入InputTextMessageContent的内容不合法,包括返回空值、非字符串类型、特殊字符解析失败三类情况,按以下步骤排查修复:

  • 给response函数的返回值加兜底校验
    当前代码未校验response(query)的返回结果,当查询关键词无匹配内容、response返回None/空字符串/非字符串类型时,就会触发该报错。修改代码提前校验返回值,无结果时返回默认提示:
def inlinequery(update, context: CallbackContext) :
    query = update.inline_query.query
    # 优化空查询判断,过滤全空格的无效输入
    if not query.strip():
        return
    # 提前获取检索结果并做合法性校验
    res = response(query)
    if not isinstance(res, str) or not res.strip():
        # 无匹配结果时返回默认提示,确保内容一定是合法非空字符串
        res = "未查询到匹配的班级编码,请检查输入后重试"
    results = [
        InlineQueryResultArticle(
            id=str(uuid4()),
            title="find this class code",
            description='example 1322008',
            input_message_content=InputTextMessageContent(res)
        )
    ]
    update.inline_query.answer(results)
  • 处理特殊字符解析问题
    如果返回内容包含HTML/Markdown格式的特殊字符未转义,Telegram服务端解析内容失败也会抛出该类错误。可显式禁用解析模式避免该问题,修改InputTextMessageContent传参如下:
InputTextMessageContent(res, parse_mode=None)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 00:48:04