python - 多项选择 react python (discord.py)

标签 python discord

我正在尝试使用 python (discord.py) 在 discord 中执行多项选择按钮/ react ——类似于下图:

Multiple choice reaction discord example image

例如,当它响应 2️⃣ 时,显示第 2 页,当它响应 3️⃣ 时,显示第 3 页 ... 有谁能帮帮我吗?

import discord
from discord.ext import commands

class Wiki(commands.Cog):
    def __init__(self,bot):
        self.bot=bot

    #commands
    @commands.command(name="wiki",aliases=["w"])
    async def wiki(self,ctx):
        page1=discord.Embed(
        title='Page 1/3',
        description='Description1',
        colour=discord.Colour.orange()
        )
        page2=discord.Embed(
        title='Page 2/3',
        description='Description2',
        colour=discord.Colour.orange()
        )
        page3=discord.Embed(
        title='Page 3/3',
        description='Description3',
        colour=discord.Colour.orange()
        )
        pages=[page1,page2,page3]

        message= await ctx.send(embed=page1)

        await message.add_reaction('1️⃣')
        await message.add_reaction('2️⃣')
        await message.add_reaction('3️⃣')
        
        emoji=""
        if emoji=="1️⃣":
            await message.edit_message(message,embed=pages[0])
        if emoji=="2️⃣":
            await message.edit_message(message,embed=pages[1])
        if emoji=="3️⃣":
            await message.edit_message(message,embed=pages[2])       

def setup(bot):
    bot.add_cog(Wiki(bot))

最佳答案

查看 wait_for 的文档,这就是你应该如何对待这种情况。不过,我不会用勺子喂你代码,你应该先自己给它一个公平的机会。

此外,discord.py 已经内置了一些用于嵌入的东西,可以根据称为 menus 的 react 自动更改页面。 ,因此直接使用它而不是自己重新实现它可能会更容易。

关于python - 多项选择 react python (discord.py),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63837615/

相关文章:

javascript - Discord - 从 javascript 中的列表中选择

python - 从 Python 中的非协程函数运行协程函数?

python - python 中导入的 C 函数给出了无意义的输出 - 翻译失误?

python - 连接 CSV 或表格

python - Linux python 从正在运行的 python 脚本读取输出

javascript - 尽管打开了意图,discord.js 'guildMemberAdd' 事件仍不起作用

python - Discord python bot on_message return 语句中断命令

python - Linux——用Python模拟鼠标点击

python - 如何生成具有不同图像的按钮

javascript - 掷骰子。 DND,将数组中的数字加在一起