Discord.py 错误消息:“此交互失败”

Zai*_*beh 2 python discord discord.py discord-buttons

我正在尝试使用discord.py制作按钮,一切都很好并且按钮工作良好,但即使它给出了错误消息“此交互失败”

\n
async def dashboard():\n    embed=discord.Embed(title="Tile", description="Desc", color=0x00ff00)\n    embed.add_field(name="Fiel1", value="hi", inline=False)\n    embed.add_field(name="Field2", value="hi2", inline=False)\n\n    channel = bot.get_channel(dashboard_channel_id)\n    await channel.send(\n        embed=embed,\n        components=[[\n            Button(label="\xd8\xb9\xd8\xa7\xd9\x85"),\n            Button(label="\xd8\xae\xd8\xa7\xd8\xb5"),\n            Button(label="\xd9\x83\xd8\xaa\xd9\x85 \xd8\xa7\xd9\x84\xd8\xb5\xd9\x88\xd8\xaa"),\n            Button(label="\xd9\x81\xd9\x83 \xd9\x83\xd8\xaa\xd9\x85 \xd8\xa7\xd9\x84\xd8\xb5\xd9\x88\xd8\xaa"),\n        ]]\n    )\n
Run Code Online (Sandbox Code Playgroud)\n

为了使按钮做出反应,我使用 on_button_click 事件

\n
@bot.event\nasync def on_button_click(interaction):\n    print("Button clicked")\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试使用 on_error 事件,这样我就可以阻止“此交互失败”消息,但这不起作用,我只是希望即使代码无效,它也不会显示此错误。相反,我想提出它

\n

Loa*_*ahL 7

问题是,如果机器人不响应交互,discord 会自动显示“此交互失败”。因此,要解决此问题,您只需响应与

await interaction.response.send_message("Button clicked")
Run Code Online (Sandbox Code Playgroud)

如果您不想发送消息,也可以推迟交互:

await interaction.response.defer()
Run Code Online (Sandbox Code Playgroud)

参考: