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.

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 discord.py

# Windows
py -3 -m pip install -U discord.py

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

# Linux/macOS
python3 -m pip install -U "discord.py[voice]"

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

To install the development version, do the following:

$ git clone https://github.com/Rapptz/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.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

discord.py-1.7.3.tar.gz (731.0 kB view details)

Uploaded Source

Built Distribution

discord.py-1.7.3-py3-none-any.whl (786.7 kB view details)

Uploaded Python 3

File details

Details for the file discord.py-1.7.3.tar.gz.

File metadata

  • Download URL: discord.py-1.7.3.tar.gz
  • Upload date:
  • Size: 731.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.1

File hashes

Hashes for discord.py-1.7.3.tar.gz
Algorithm Hash digest
SHA256 462cd0fe307aef8b29cbfa8dd613e548ae4b2cb581d46da9ac0d46fb6ea19408
MD5 2593b6755b494d234abcb83e86f3ebb6
BLAKE2b-256 3b13a8ea7c07f46d47512673bbfa2574a22b620b814e559274f18e4a1c443cb5

See more details on using hashes here.

File details

Details for the file discord.py-1.7.3-py3-none-any.whl.

File metadata

  • Download URL: discord.py-1.7.3-py3-none-any.whl
  • Upload date:
  • Size: 786.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.1

File hashes

Hashes for discord.py-1.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c6f64db136de0e18e090f6752ea68bdd4ab0a61b82dfe7acecefa22d6477bb0c
MD5 fa8fe665392793a344fb0460817ec3a9
BLAKE2b-256 623879f7de6d65514b8c98c9439dc2950796e6bbfbb333e21f14c18fd29bea45

See more details on using hashes here.

Supported by

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