我正在使用discord.py和pycord库来构建一个discord bot。我有一门课叫做"菜单"它包含一个名为"btn"的按钮,当它被按下时,我试图从视图中删除按钮,但它没有被删除。我的代码是这样的:
class menu(discord.ui.View):
def __init__(self):
super().__init__()
self.btn = skipbutton()
self.add_item(self.btn)
async def interaction_check(self, interaction: discord.Interaction):
self.remove_item(self.btn)
如果我删除项目没有使用async def将被删除,但不是当我使用async它将不做任何事情如果我想在
之前和之后添加一些内容它就会在 之前和之后打印这是因为您只是在本地从视图中删除了它-您需要实际编辑消息并使用新视图更新它。
interaction.response.edit_message(view=self)
检查pycord
的文档在这里禁用按钮按下。类似的逻辑,但我们是从视图中删除按钮,而不是禁用它。但我们仍然需要编辑消息,以便在Discord中注册它已更改。