python 在discord.py中查找错误

evrscar2  于 2024-01-05  发布在  Python
关注(0)|答案(1)|浏览(143)

所以,我想在我们的服务器上做一个结婚系统,但有一些按钮错误:

  1. @client.tree.command(name='marry', description="Suggest to marry", )
  2. async def marry(interaction: discord.Interaction, user: discord.Member):
  3. print(f'{interaction.user}||{user}')
  4. if interaction.user == user:
  5. await interaction.response.send_message(content=f"{interaction.user.mention} you can`t marry yourself :(")
  6. return
  7. else:
  8. embed_marry = discord.Embed(title='WOW.....', description=f'{interaction.user.mention} suggest a marry to {user.mention}', color=0x774dea)
  9. await interaction.response.send_message(embed=embed_marry, view=MarryButtons())
  10. class MarryButtons(discord.ui.View):
  11. def __init__(self):
  12. super().__init__()
  13. #Green button under merry_embed in "async def marry"
  14. @discord.ui.button(label="Yes", style=discord.ButtonStyle.success)
  15. async def agree_btn(self, interaction: discord.Interaction, button: discord.ui.Button, user: discord.Member):
  16. embed_agree = discord.Embed(title=f'{user.mention} answered YES', description=f'{user.mention} now married to {interaction.user.mention}')
  17. await interaction.response.send_message(embed=embed_agree)
  18. # Red button under merry_embed in "async def marry"
  19. @discord.ui.button(label="No", style=discord.ButtonStyle.danger)
  20. async def disagree_btn(self, interaction: discord.Interaction, button: discord.ui.Button, user: discord.Member):
  21. embed_disagree = discord.Embed(title=f'{user.mention} answered NO', description=f'{user.mention} declined propose from {interaction.user.mention}')
  22. await interaction.response.send_message(embed=embed_disagree)
  23. # Gray emoji button under merry_embed in "async def marry"
  24. @discord.ui.button(label="😜", style=discord.ButtonStyle.gray)
  25. async def emoji_btn(self, interaction: discord.Interaction, button: discord.ui.Button, user: discord.Member):
  26. embed_emoji = discord.Embed(title=f'{user.mention} canceled propose', description=f'Nothing changed')
  27. await interaction.response.send_message(embed=embed_emoji)

字符串
总的来说,它看起来不错,但当我试图点击它们时,出现了一个不和谐的“交互错误”。discord.py

kq4fsx7k

kq4fsx7k1#

由于对错误本身缺乏了解,我看到的错误是您在按钮中放置了用户变量。
第一个月
删除变量,交互将继续。
async def agree_btn(self, interaction: discord.Interaction, button: discord.ui.Button:

  • 额外费用:您可以从marry命令中获取用户。设置一个全局user变量并使用命令更改其值。然后您可以在按钮类中访问它。第二个选项是database或json,用于多个请求句柄 *

相关问题