Discord.py 帮助命令(对编辑消息做出反应)

Posted

技术标签:

【中文标题】Discord.py 帮助命令(对编辑消息做出反应)【英文标题】:Discord.py help command (react to edit message) 【发布时间】:2020-10-29 14:34:26 【问题描述】:

我正在尝试创建一个帮助命令,如果您做出反应,它会将消息(编辑消息)更改为下一页(我有 4 个帮助页面和一个默认页面(显示什么数字 = 什么页面))。

我看到了this post 对此,但这是一个箭头反应,我不知道如何将其更改为 0 1 2 3 4 反应。

0 - help page
1 - fun commands
2 - Emoji commands
3 - admin commands
4 - misc commands

我该怎么做?

【问题讨论】:

【参考方案1】:

这里我使用变量 (i) 来跟踪页码。您最初会发送一个嵌入(第 0 页)并获取消息对象 (msg)。

def reac_check(r, u):
   return msg.id == r.message.id and u!=self.bot.user and r.emoji in ['1','2','3']
i = 0
while True:
     try:
        reaction, user = await self.bot.wait_for('reaction_add', timeout=20.0, check=reac_check)
        em = str(reaction.emoji)
     except TimeoutError:
         print("caught")
         break #we exit the loop
      
     if user!=self.bot.user:
        await msg.remove_reaction(emoji=em, member=user)

     if em == '1':
        #edit message with embed of page 1
     #other cases go here

【讨论】:

以上是关于Discord.py 帮助命令(对编辑消息做出反应)的主要内容,如果未能解决你的问题,请参考以下文章

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

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

当用户对 2 个反应做出反应时,机器人不会读取第二个反应.. discord.py

Discord.py 反应角色和 DMing 反应堆

对表情符号 discord.py 做出反应时添加角色

如何获取对discord.py中的反应做出反应的人的ID