首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Nextcord中禁用按钮

如何在Nextcord中禁用按钮
EN

Stack Overflow用户
提问于 2022-08-14 12:28:22
回答 1查看 98关注 0票数 1

我想制作一个票务系统与一个索赔按钮,一切都是正常和工作的,但我想禁用“索赔票”按钮后,有人使用它.

我试着用谷歌搜索这个问题,没有找到对我有用的答案

以下是整个代码:

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

发布于 2022-08-25 17:14:17

您可以使用:

代码语言:javascript
复制
@nextcord.ui.button(style = ButtonStyle.gray,label= "Remove Item",custom_id="remove_item",emoji='',**disabled = True**)

读这个:https://discord-components.readthedocs.io/en/0.5.2.4/pages/button.html?highlight=button%20disable#discord_components.button.Button.disabled

您还可以查看Nextcord文档:https://docs.nextcord.dev/en/stable/api.html?highlight=nextcord+ui+button#nextcord.ui.button

nextcord.ui.button()有一个参数:禁用: bool = False。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73351618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档