Skip to main content
PyPI supported Python versions

A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. Credits to the original lib by Rapptz

WARNING: This is not the official discord.py lib! This is a custom version to which I add some features that might be useful or just makes things easier for the lazy people. See below which features have been added. This lib will also be kept updated with the BETA version of the original lib! So things may be unstable, please keep that in mind.

Custom Features

Moved to: Custom Features

Key Features

  • Modern Pythonic API using async and await.

  • Proper rate limit handling.

  • 100% coverage of the supported Discord API.

  • Optimised in both speed and memory.

Installing

Python 3.5.3 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 enhanced-dpy

# Windows
py -3 -m pip install -U enhanced-dpy

To install the development version, do the following:

$ git clone https://github.com/iDutchy/discord.py
$ cd discord.py
$ python3 -m pip install -U .[voice]

Optional Packages

  • PyNaCl (for voice support)

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 discord

class MyClient(discord.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 discord
from discord.ext import commands

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

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

bot.run('token')

You can find more examples in the examples directory.

Metadata

Release files for enhanced-dpy 1.7.3.7.post6

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

Source distribution (sdist)

Source distribution for enhanced-dpy 1.7.3.7.post6
File Size Uploaded
enhanced-dpy-1.7.3.7.post6.tar.gz 749.1 kB Details

Release files / enhanced-dpy-1.7.3.7.post6.tar.gz

Download URL enhanced-dpy-1.7.3.7.post6.tar.gz
Size 749.1 kB
Tags Source
SHA-256 checksum
How to use checksums
c569802629a0b71cd7750785c2aa49a73c0cdbfea913757da6108c8301c72d29
BLAKE2b-256 checksum
How to use checksums
531e738fb4c8651d82812594a9d057902801b1cef39b6581e64967002318234c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.9.0+
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