Skip to main content

A Python wrapper for the Discord API

Project description

Discord server invite PyPI version info PyPI supported Python versions

A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python.

Warning

The library is still in development and isn’t usable yet. We hope to publish a stable release before the 10th of september.

About disnake

All the contributors and developers, associated with disnake, are trying their best to add new features to the library as soon as possible. We strive to revive the greatest Python wrapper for Discord API and keep it up to date.

Key Features

  • Modern Pythonic API using async and await.

  • Added features for ease of coding

  • Proper rate limit handling.

  • Optimised in both speed and memory.

Installing

Python 3.8 or higher is required

To install the library without full voice support, you can just run the following command:

# Linux/macOS
python3 -m pip install -U disnake

# Windows
py -3 -m pip install -U disnake

Otherwise to get voice support you should run the following command:

# Linux/macOS
python3 -m pip install -U "disnake[voice]"

# Windows
py -3 -m pip install -U disnake[voice]

To install the development version, do the following:

$ git clone https://github.com/EQUENOS/disnake
$ cd disnake
$ python3 -m pip install -U .[voice]

Optional Packages

Please note that on Linux installing voice you must install the following packages via your favourite package manager (e.g. apt, dnf, etc) before running the above commands:

  • libffi-dev (or libffi-devel on some systems)

  • python-dev (e.g. python3.6-dev for Python 3.6)

Quick Example

import disnake

class MyClient(disnake.Client):
    async def on_ready(self):
        print('Logged on as', self.user)

    async def on_message(self, message):
        # don't respond to ourselves
        if message.author == self.user:
            return

        if message.content == 'ping':
            await message.channel.send('pong')

client = MyClient()
client.run('token')

Bot Example

import disnake
from disnake.ext import commands

bot = commands.Bot(command_prefix='>')

@bot.command()
async def ping(ctx):
    await ctx.send('pong')

bot.run('token')

Slash Commands Example

import disnake
from disnake.ext import commands

bot = commands.Bot(command_prefix='>', test_guilds=[12345])

@bot.slash_command()
async def ping(inter):
    await inter.response.send_message('pong')

bot.run('token')

You can find more examples in the examples directory.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

disnake-2.1.0.tar.gz (839.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

disnake-2.1.0-py3-none-any.whl (932.9 kB view details)

Uploaded Python 3

File details

Details for the file disnake-2.1.0.tar.gz.

File metadata

  • Download URL: disnake-2.1.0.tar.gz
  • Upload date:
  • Size: 839.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.6

File hashes

Hashes for disnake-2.1.0.tar.gz
Algorithm Hash digest
SHA256 a1a59be0456dfba6ad02d11527fd33572e6d009313e14faa490a8803822c60ac
MD5 33cd7d6d80377b373ee745370d95655b
BLAKE2b-256 5505f0363a3991fc1f0ca0ad07c4a8da9463851ff32ce18ea26a4445a2e22e6a

See more details on using hashes here.

File details

Details for the file disnake-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: disnake-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 932.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.6

File hashes

Hashes for disnake-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 079ea2b2e59b0467a5c765bc4d64f8bb14fb64b2ef39de7a13cdd85d38bc959c
MD5 3fe29f8dbf26002f6307f08b7d1e4371
BLAKE2b-256 c53938e23980de82223ac08b19e27415c0e488b24b8c9494ec56cbeca66b8cdd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page