Un semplice gestore di comandi Discord Slash per discord.py

Prova Il Nostro Strumento Per Eliminare I Problemi

I comandi barra forniscono un modo conveniente per creare potenti robot Discord con interfacce facili da usare. Questo tutorial dimostra come creare un file semplice ma robusto gestore del comando barra per registrare, organizzare ed eseguire bot personalizzati comandi con discord.py .

Panoramica del comando Discord Slash

Introdotta la discordia comandi barra come metodo semplificato per consentire agli utenti di invocare i bot. Forniscono argomenti integrati senza la necessità di memorizzare prefissi e sintassi.

Internamente, i bot registrano le definizioni dei comandi slash che Discord esegue nel client dell'utente. Quando gli utenti digitano un nome di comando, vengono visualizzati i parametri che consentono l'input del valore che il bot riceve durante l'esecuzione.

Caratteristiche principali del comando barra

  • Interfacce intuitive nel client Discord
  • Input strutturati tramite argomenti
  • Controlli delle autorizzazioni per bot più sicuri
  • Documentazione di aiuto automatica

Basandosi su basi con barre invece che su prefissi, i bot creano esperienze utente più ricche.

discord.py Nozioni di base sui comandi Slash

IL discordia.py framework fornisce una solida piattaforma per lo sviluppo di bot Python Discord. Per i comandi slash, in particolare le classi chiave gestiscono la registrazione e l'esecuzione.

SlashCommandGroup

Rappresenta un raggruppamento di comandi correlati come musica, amministrazione, ecc. Utile per l'organizzazione e le autorizzazioni.

SlashCommand

Definisce un comando specifico che gestisce la logica di esecuzione. Può includere argomenti per l'input dell'utente.

Menù contestuale

Allega il comando barra all'input del messaggio per un accesso rapido.

Basandosi su queste classi, i gestori di bot ricchi di funzionalità prendono rapidamente forma.

Progettare un gestore di barra

Prima di scrivere codice, vale la pena considerare in anticipo alcune decisioni di progettazione del gestore delle barre:

  • Organizzazione - Elenco comandi semplice o gruppi strutturati?
  • argomenti - Quali comandi accettano input?
  • Autorizzazioni - Controllo granulare degli accessi utente/ruolo?
  • Aiuto - Generare documentazione automatica?

Considerare queste opzioni informa l’approccio di implementazione.

Funzionalità del bot di esempio

A scopo dimostrativo, i comandi bot di esempio potrebbero fornire:

  • /riproduzione musicale: mette in coda i brani per nome/URL
  • /mod warn - Avvisa gli utenti che si comportano male
  • /fun meme - Immagine meme casuale

Con una serie di funzionalità mirate in mente, il codice del gestore slash prende forma successivamente.

Impostazione del progetto

Il bootstrap di un bot discord.py da zero implica:

  1. Creazione di un account bot Discord
  2. Installazione del pacchetto discord.py
  3. Configurazione dello script del bot runner

Supponendo che tali prerequisiti siano soddisfatti, la struttura della directory del progetto potrebbe essere simile a:

|_+_|

Il |_+_| Lo script avvia il bot mentre |_+_| dichiara la dipendenza discord.py.

Importazioni

Le importazioni principali dei comandi barra includono:

|_+_|

Questo inserisce il client Discord, l'organizzazione dei comandi e i pezzi del framework del bot.

Istanziare il Bot

Ottieni il bot inizializzato con il token dal portale degli sviluppatori Discord:

|_+_|

Il prefisso non si applica ai veri comandi slash, piuttosto ai normali comandi basati su messaggi! solo trigger.

Implementa gruppi e comandi slash

Successivamente crea istanze del gruppo di comandi slash e aggiungi comandi al loro interno. Questo gestisce la registrazione e l'organizzazione.

Gruppi di comando

Raggruppa comandi simili in questo modo:

|_+_|

I parametri stringa definiscono i nomi dei gruppi e la descrizione della guida.

Comandi barra

Quindi crea i singoli comandi fornendo i gestori:

|_+_|

I decoratori attribuiscono funzioni ai gruppi di comandi come abilità di barra con nome. Gli argomenti accedono all'input dell'utente.

Aggiungi gruppi al bot

Infine registra tutti i gruppi di comandi a livello globale con l'istanza del bot:

|_+_|

Ciò consente il rilevamento e l'invocazione in Discord per gli utenti autorizzati.

Perfeziona gestore

Con lo scheletro essenziale in atto, i miglioramenti aiutano a perfezionare l'architettura della barra.

Autorizzazioni

Limita l'accesso utilizzando |_+_| attributo quando si dichiarano gruppi o comandi:

|_+_|

Ciò impedisce l'utilizzo globale, perfezionato in seguito inserendo ruoli/utenti specifici nell'elenco consentito.

Tipi di argomenti

Applica tipi di argomenti come membro, stringa, numero intero ecc.:

|_+_|

Ciò richiede l'immissione di valori formattati correttamente durante l'invocazione.

Scelte

Presenta le opzioni per selezionare anziché l'input grezzo:

|_+_|

Menu a discesa con selezioni valide predefinite tra cui scegliere.

Classi di opzioni

Per molti argomenti, crea un modulo di opzioni riutilizzabili con tipi preimpostati:

|_+_|

Quindi applicare come tipi in modo pulito nei gestori.

Esternalizzare nel pacchetto

Ridimensiona lo sviluppo dei comandi esportando il gestore in un pacchetto importabile con entrypoint:

|_+_|

E carica dinamicamente:

|_+_|

Ciò mantiene la separazione delle preoccupazioni per facilitare i test e il contributo degli altri.

Distribuisci a livello globale

Inizialmente i comandi slash vengono registrati sul server di sviluppo per il test. Quando sei pronto, distribuiscilo a livello globale:

|_+_|

Consenti circa 1 ora per la propagazione mondiale, dopodiché tutti potranno scoprirlo!

Conclusione

Questo tutorial ha presentato un'impalcatura semplice per il gestore dei comandi slash da creare implementando gruppi, comandi, argomenti, autorizzazioni e pacchetti utilizzando discord.py per bot professionali.

Da qui abbondano le possibilità di tradurre le idee in esperienze Discord intuitive rese accessibili ai membri del server e alle comunità di tutto il mondo 24 ore su 24, 7 giorni su 7!

Guarda Anche: