交互失败 discord.py 按钮

时间:2021-06-20 04:15:30

标签: python

@client.command()
async def button(ctx):
    await ctx.message.delete()
    await ctx.send(
        "Support Tickets",
        components = [
            Button(label = "General", style=ButtonStyle.red)
        ]
    )

    interaction = await client.wait_for("button_click", check = lambda i: i.component.label.startswith("General"))
    await interaction.respond(content = "Creating The Ticket...")

我目前有这个代码。我正在尝试制作一个具有多种用途的按钮,但无论出于何种原因,我只能单击一次此按钮,然后它才会显示“此交互失败”消息。有没有办法解决这个问题?

(我知道 discord.py 并不完全支持这一点,但希望有人可以帮助我)

我从一开始的信息来源:https://pypi.org/project/discord-components/

1 个答案:

答案 0 :(得分:1)

client.wait_for 只会等待事件第一次发生。如果您希望此按钮始终可按下,那么您可以简单地将它放在一个 while True: 循环中以无限重复它,尽管将您的交互处理程序放在单独的任务中可能更有意义,以便没有多个 wait_for,而是一个处理所有发送的按钮,而命令只发送新的按钮。