Slash-Befehle

Eine Einführung in die Slash-Befehle für Fortgeschrittene und neue Benutzer

Grundlegende Slash-Befehle

Slash-Befehle sind den Legacy-Befehlen sehr ähnlich

Anstelle von @bot.command sollten Sie @bot.slash_command verwenden.

Die meisten Nachrichtenmethoden von Context wurden zu ctx.respond("message", view=None) umgewandelt.

Aber es ist sehr einfach, sie zu erstellen:

``py @bot.slash_command(guild_ids=[…]) # begrenzt die verfügbaren Gilden-IDs async def example(ctx): “””Beispiel Beschreibung””” await ctx.respond(“Nachricht”, view=None) # Nachricht senden


### Autocompleted Command
Autovervollständigte Nachrichten sind in Pycord implementiert!

Sie sind sehr einfach zu erstellen
Sie müssen zuerst eine Liste von autovervollständigten Wörtern erstellen
````py
meine_liste = [
    "..."
    "..."
]

Erstellen Sie dann eine Liste von Benutzer-IDs, die dies verwenden können:

allowed_users_list = [
    "..."
    "..."
]

Dann erstellen Sie eine Funktion, die nach Ergebnissen in der Liste sucht:

async def list_search(ctx: discord.AutocompleteContext):
    """Return's A List Of Autocomplete Results"""
    return [
        thing for thing in my_list if ctx.interaction.user.id in allowed_users_list
    ]

Jetzt können Sie Ihren Befehl

@bot.slash_command(name="ac_example")
async def autocomplete_example(
    ctx: discord.ApplicationContext,
    choice: Option(str, "was wird deine Wahl sein!", autocomplete=list_search),
):
    await ctx.respond(f "Du hast {Wahl} gewählt!")

Verwaltung von Slash-Befehlsberechtigungen

Zuerst müssen Sie einen Slash-Befehl erstellen

@bot.slash_command(guild_ids=[...]) # Begrenzt Gilden mit diesem Befehl

Dann fügen Sie im unteren Bereich hinzu

@Permissions.foo() # Ersetze foo durch has_role oder is_user etc.