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

Telegram Bot API调用setMessageReaction接口返回400错误求助

Telegram Bot setMessageReaction 返回400错误的原因及解决办法

问题描述

我正在实现Telegram机器人对用户消息添加反应的功能(基于Telegram新版Bot API),但调用setMessageReaction接口时返回400错误。测试发现删除reaction和is_big字段后请求能成功,但这样就无法实现添加反应的功能。代码如下:

def send_react(message):
    global TOKEN
    chat_id = message.chat.id
    message_id = message.message_id
    reaction = '👍'
    url = f'https://api.telegram.org/bot{TOKEN}/setMessageReaction'
    data = {
        'chat_id': chat_id,
        'message_id': message_id,
        'reaction': reaction,
        'is_big': False
    }
    response = requests.post(url, json=data)
    if response.status_code == 200:
        result = response.json()
        if result['ok']:
            print('ok')
        else:
            print('not ok:', result['description'])
    else:
        print('error:', response.status_code)
    return

可能的原因及解决办法

  • Reaction字段格式不符合API要求
    Telegram Bot API的setMessageReaction接口中,reaction参数要求是一个数组,数组内的每个元素是包含type属性的对象,而不是直接传入单个emoji字符串。正确的格式应该是[{"type": "emoji", "emoji": "👍"}],而非单独的"👍"。

  • Is_big字段的依赖条件不满足
    is_big字段仅当reaction是单个emoji类型的对象时才有效,若reaction格式错误,这个字段会进一步触发参数校验失败,导致400错误。

修正后的代码

将reaction参数调整为符合API要求的数组格式即可解决问题:

def send_react(message):
    global TOKEN
    chat_id = message.chat.id
    message_id = message.message_id
    url = f'https://api.telegram.org/bot{TOKEN}/setMessageReaction'
    data = {
        'chat_id': chat_id,
        'message_id': message_id,
        'reaction': [{"type": "emoji", "emoji": "👍"}],
        'is_big': False
    }
    response = requests.post(url, json=data)
    if response.status_code == 200:
        result = response.json()
        if result['ok']:
            print('ok')
        else:
            print('not ok:', result['description'])
    else:
        print('error:', response.status_code)
    return

额外检查点:确保你的Bot使用的是支持setMessageReaction功能的Bot API版本(需为v6.2及以上),如果你的Bot是旧版本,可通过@BotFather确认并升级API权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 00:15:08