Introducción

Esta es la documentación para disnake, una librera para Python que ayuda en crear aplicaciones que utilizan la API de Discord

Requisitos previos

disnake funciona con Python 3.8 o superior. No hay soporte para versiones anteriores de Python. Python 2.7 o inferior no es compatible. Python 3.7 o inferior no es compatible.

Instalación

Puede obtener esta libreria directamente de PyPI:

python3 -m pip install -U disnake

Si está utilizando Windows, deberá usar lo siguente:

py -3 -m pip install -U disnake

Para obtener soporte de voz, usted debe usar disnake[voice] en cambio de disnake, p. ej.

python3 -m pip install -U disnake[voice]

En entornos Linux, la instalación de voz requiere tener las siguentes dependencias:

Para sistemas basados en Debian, el siguente comando instalará las dependencias:

$ apt install libffi-dev libnacl-dev python3-dev

Recuerda comprobar sus permisos!

Entornos Virtuales

A veces quiere evitar que las librerias estén en las instalaciones del sistema o quiera utilizar una versión diferente de las librerias. También es posible que no tenga permisos para instalar las librerias en el sistema. Para este proposito, la libreria estándar a partir de Python 3.3 viene con un elemento llamado «Entorno Virtual» para ayudar a mantener estas versiones separadas.

Encontrará un tutorial más detallado en Entornos Virtuales y Paquetes.

Sin embargo, aquí hay un pequeño tutorial:

  1. Vaya al directorio de trabajo de su proyecto:

    $ cd your-bot-source
    $ python3 -m venv bot-env
    
  2. Active el entorno virtual:

    $ source bot-env/bin/activate
    

    En Windows puedes activarlo con:

    $ bot-env\Scripts\activate.bat
    
  3. Use pip como de costumbre:

    $ pip install -U disnake
    

Felicitaciones. Ahora tiene un entorno virtual listo para usar.

Conceptos básicos

disnake funciona en torno al concepto de eventos. Un evento es algo que se escucha y luego se responde. Por ejemplo, cuando un mensaje es enviado, usted recibirá un evento sobre él que puede responder.

Un ejemplo rápido para mostrar cómo funcionan los eventos:

import disnake

class MyClient(disnake.Client):
    async def on_ready(self):
        print(f'Logged on as {self.user}!')

    async def on_message(self, message):
        print(f'Message from {messsage.author}: {message.content}')

client = MyClient()
client.run('my token goes here')