Need help with discord.py?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

Rapptz
7.4K Stars 2.1K Forks MIT License 3.1K Commits 87 Opened issues

Description

An API wrapper for Discord written in Python.

Services available

!
?

Need anything else?

Contributors list

discord.py

.. image:: https://discord.com/api/guilds/336642139381301249/embed.png :target: https://discord.gg/r3sSKJJ :alt: Discord server invite .. image:: https://img.shields.io/pypi/v/discord.py.svg :target: https://pypi.python.org/pypi/discord.py :alt: PyPI version info .. image:: https://img.shields.io/pypi/pyversions/discord.py.svg :target: https://pypi.python.org/pypi/discord.py :alt: 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:

.. code:: sh

# 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:

.. code:: sh

# 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:

.. code:: sh

$ 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

.. code:: py

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 ~~~~~~~~~~~~~

.. code:: py

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.

Links

  • Documentation 
    _
  • Official Discord Server 
    _
  • Discord API 
    _

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.