Discord.py:根据消息得到的反应来编辑机器人发送的消息

Posted

技术标签:

【中文标题】Discord.py:根据消息得到的反应来编辑机器人发送的消息【英文标题】:Discord.py: Editing a message sent by bot according to how many reactions that message got 【发布时间】:2020-11-17 06:37:33 【问题描述】:

我正在制作一个机器人,它将文件中的某些数据(使用 pandas)打印到嵌入式消息中。 该嵌入消息是一个数据列表,我一直在尝试使用表情来更新它。

由于某种原因,堆栈溢出的答案都不起作用。我已经尝试了多种修复,如下所示,它们会引发我无法修复的错误等。

name = await client.send(channel, embed=embed)

name.add_reaction("表情名称")

Discord.py 版本:1.3.4

来自机器人的响应:

来自机器人的期望响应:

代码sn-p:

                    embed.add_field(name="__****__".format(trend_name2), value="__Level__: **0**\n__Category__: **1**\n__Position__: **2**\n\n**3** Trends until **4** "
                                                                             "trend\n(**5 days and 6 hours**)\n\n ‎".format(
                    trend_level2, trend_category2.title(), trend_position2, min(lookup_difference), trend_name2.title(), days_until_trend, hours_until_trend))
                print(lookup_index)
                z += 1
                if z == 6:
                    embed_fields.append(embed)
                    z = 0
                    embed = discord.Embed(title="Level list", color=0x00d9ff)
            page_ = 0
            await message.channel.send(embed=embed_fields[page_])

            # On right arrow reaction clicked:
            #   page += 1
            # On left arrow reaction clicked:
            #   page -= 1
            # Edit message to embed=embed_fields[page_]
            #

`

【问题讨论】:

【参考方案1】:

虽然不是您自己的代码,但 disputils 是一个非常好的库,可用于像您这样的简单表情符号菜单:disputils。这是一种制作菜单、确认信息等的简单方法。

【讨论】:

确实看起来很不错,但似乎不起作用。虽然它会打印第一个嵌入,但它不会添加表情。当我自己添加表情时,它也没有做任何事情。 你确定你用对了吗?我已经使用该库有一段时间了,它运行良好。显示一些代码会很好,因为您不必添加表情符号(它会自动添加箭头),并且您可以在必要时传入自定义的。 嘿,现在可以了。我相信我没有输入 ctx var 或嵌入列表只有 1 个条目。不过还是谢谢 很高兴听到这个消息,感谢您接受答案。

以上是关于Discord.py:根据消息得到的反应来编辑机器人发送的消息的主要内容,如果未能解决你的问题,请参考以下文章

我想使用 discord.py 创建一个多页帮助命令

Discord.py 计算对消息的反应

discord.py 按内容获取消息

如何让不和谐机器人使用 discord.py 向消息添加表情符号反应?

discord.py :: 我怎样才能让我的机器人对它自己的消息做出反应?

(discord.py) 向不和谐机器人发布的嵌入添加反应