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

Discord Py机器人添加表情反应失效问题求助

嘿,我帮你排查下这段代码的问题哈~

问题排查与修复方案

我看了你的代码,发现两个关键问题导致它无法正常运行:

1. 错误的消息反应调用对象

你现在直接对ctx(上下文对象)调用add_reaction(),但Discord.py里的add_reaction()方法是属于消息对象的,不是上下文对象。你需要先把发送的消息存成变量,再对这个变量调用反应方法。

2. 区域指示器emoji的格式不正确

你写的'regional_indicator_b'这种字符串格式,Discord没办法直接识别成对应的emoji。如果是系统自带的区域指示器,直接用对应的emoji字符(比如🇧、🇪)就行;如果是自定义emoji,才需要用<:emoji_name:emoji_id>的格式。


修正后的代码
emojis = ['🇧', '🇪']  # 使用系统自带的区域指示器emoji字符
latency = (client.latency * 1000).__round__()
# 先把发送的消息存为变量
ping_message = await ctx.send(f"Ping: {latency} ms")
# 对消息对象调用add_reaction
for emoji in emojis:
    await ping_message.add_reaction(emoji)

额外说明
  • 如果你确实要用自定义的区域指示器emoji,需要先获取该emoji的ID,格式写成<:regional_indicator_b:1234567890>(把1234567890换成实际的emoji ID)。
  • 还要确保你的机器人有添加反应的权限,不然也会报错哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:28:23