我想制作一个票务系统与一个索赔按钮,一切都是正常和工作的,但我想禁用“索赔票”按钮后,有人使用它.
我试着用谷歌搜索这个问题,没有找到对我有用的答案
以下是整个代码:
class buttons(nextcord.ui.View):
def __init__(self):
super().__init__()
self.value = None
@nextcord.ui.button(label="Ticket Support", style=nextcord.ButtonStyle.green, emoji="")
async def teste3(self, button: nextcord.ui.Button, interaction: nextcord.Interaction):
overwrites = {
interaction.guild.default_role: nextcord.PermissionOverwrite(read_messages=False),
interaction.guild.me: nextcord.PermissionOverwrite(read_messages=True),
interaction.user: nextcord.PermissionOverwrite(read_messages=True)
}
channek = await interaction.guild.create_text_channel(f"Ticket-", overwrites=overwrites)
id = channek.id
embed = nextcord.Embed(title="Ticket Support", description=f"Thank you for requesting help.\nState your problems or questions here and await a response.")
await channek.send(embed=embed, view=butts())
await interaction.send(f"Ticket created <#{id}>..", ephemeral=True)
class butts(nextcord.ui.View):
def __init__(self):
super().__init__()
self.value = None
@nextcord.ui.button(label="Close Ticket", style=nextcord.ButtonStyle.red, emoji="")
async def teste(self, button: nextcord.ui.Button, interaction: nextcord.Interaction):
await interaction.channel.delete()
@nextcord.ui.button(label="Claim Ticket", style=nextcord.ButtonStyle.green, emoji="")
async def teste2(self, button: nextcord.ui.Button, interaction: nextcord.Interaction):
if interaction.user.guild_permissions.administrator and interaction.user != None:
embed = nextcord.Embed(title=f"Claimed Ticket", description=f"Your ticket will be handled by {interaction.user.mention}.")
await interaction.send(embed=embed)
interaction = await bot.wait_for("button_click", check=lambda inter: inter.custom_id == "teste2")
async def button_callback(button_inter: nextcord.Interaction):
butts.disabled = True
butts.callback = button_callback
else:
embed = nextcord.Embed(title=f"You don't have the permissions for this!")
await interaction.send(embed=embed, ephemeral=True)
@bot.slash_command(name="ticket", description="Setup the ticket system!")
async def ticket(ctx: nextcord.Interaction):
if ctx.user.guild_permissions.administrator and ctx.user != None:
embed=nextcord.Embed(description=f"Press the button below to create a Ticket!")
await ctx.send(embed=embed, view=buttons())
else:
embed = nextcord.Embed(title=f"You don't have the permissions for this!")
await ctx.send(embed=embed, ephemeral=True)发布于 2022-08-25 17:14:17
您可以使用:
@nextcord.ui.button(style = ButtonStyle.gray,label= "Remove Item",custom_id="remove_item",emoji='',**disabled = True**)您还可以查看Nextcord文档:https://docs.nextcord.dev/en/stable/api.html?highlight=nextcord+ui+button#nextcord.ui.button
nextcord.ui.button()有一个参数:禁用: bool = False。

https://stackoverflow.com/questions/73351618
复制相似问题