Skip to main content
Disnake Banner

disnake

Discord server invite PyPI version info PyPI supported Python versions Commit activity

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

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')

Context Menus Example

import disnake
from disnake.ext import commands

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

@bot.user_command()
async def avatar(inter):
    embed = disnake.Embed(title=str(inter.target))
    embed.set_image(url=inter.target.avatar.url)
    await inter.response.send_message(embed=embed)

bot.run('token')

You can find more examples in the examples directory.

Metadata

Release files for disnake 2.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for disnake 2.2.0
File Size Uploaded Provenance Actions
disnake-2.2.0.tar.gz 870.8 kB Without provenance Details for disnake-2.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for disnake 2.2.0
File Interpreter ABI Platform Actions
disnake-2.2.0-py3-none-any.whl Python 3 none any Details for disnake-2.2.0-py3-none-any.whl

Total release size: 1.8 MB

Release files / disnake-2.2.0.tar.gz

Download URL disnake-2.2.0.tar.gz
Size 870.8 kB
Tags Source
SHA-256 checksum
How to use checksums
79ce0042e07ef75151cfcabc05c9c1a6be93a6020aa43896531b24c22a59cb8a
BLAKE2b-256 checksum
How to use checksums
79a18ad4c5bc0661538ce9be0487d9dc0b0d6e332ed021214691adc4770f56e2
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / disnake-2.2.0-py3-none-any.whl

Download URL disnake-2.2.0-py3-none-any.whl
Size 973.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b911e0fa1991d1e9f0a2f7bbeb9fd7c3d5e31c6b1b3da4a0f08b1f6330375b00
BLAKE2b-256 checksum
How to use checksums
36f474e595e04d973bd70ef5c4b68c9e8d334245fba35b738e41198e577a3f65
Upload date
Uploaded using Trusted Publishing?
What is 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

Security for disnake 2.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page