Discord.py 如何为webhook.send发送的消息添加表情反应
Discord Webhook 消息添加表情反应解决方案
你当前的使用方式存在两个核心错误:
discord.Reaction是 Discord API 返回的已存在的消息反应实体类,不能直接作为content参数传入webhook.send方法,content参数仅接受字符串格式的普通消息内容- 表情反应不能在发送消息的同时直接作为参数传入,需要先拿到发送成功的消息对象,再调用对应方法添加反应
正确实现步骤如下:
- 调用
webhook.send时添加wait=True参数,该参数会让方法在消息发送成功后返回对应的Message对象,默认不填该参数时方法发送完成后直接返回None,无法获取到待添加反应的消息 - 对返回的消息对象调用
add_reaction()方法,传入你需要添加的表情即可
正确代码示例:
data_count = 1 # 先发送消息,设置wait=True获取返回的消息对象 sent_message = webhook.send( content=f"test {data_count}", # 这里放你原本要发的文本内容 file=discord.File("american_eagle_excited.gif"), embed=discord.Embed(title="Sample Embed", description="This is the description"), wait=True ) # 给刚发送的消息添加👍表情反应 sent_message.add_reaction("👍")
内容的提问来源于stack exchange,提问作者FirmCEO
相关产品推荐
相关产品推荐

