discord.py README

The project's README from github.com/Rapptz/discord.py. As one markdown file: README.md.

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

Installing

Python 3.8 or higher is required

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

.. note::

A `Virtual Environment <https://docs.python.org/3/library/venv.html>`__ is recommended to install
the library, especially on Linux where the system Python is externally managed and restricts which
packages you can install on it.

.. 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 <https://pypi.org/project/PyNaCl/>`__ (for voice support)

Please note that when installing voice support on Linux, 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.8-dev`` for Python 3.8)

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

    intents = discord.Intents.default()
    intents.message_content = True
    client = MyClient(intents=intents)
    client.run('token')

Bot Example
~~~~~~~~~~~~~

.. code:: py

    import discord
    from discord.ext import commands

    intents = discord.Intents.default()
    intents.message_content = True
    bot = commands.Bot(command_prefix='>', intents=intents)

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

    bot.run('token')

You can find more examples in the examples directory.

Links
------

- `Documentation <https://discordpy.readthedocs.io/en/latest/index.html>`_
- `Official Discord Server <https://discord.gg/r3sSKJJ>`_
- `Discord API <https://discord.gg/discord-api>`_

discord.py (Rapptz/discord.py)

Searching Database…

What is this?A Python library for talking to the Discord API: you write your bot in Python and discord.py handles the low-level API work for you.
So is this a program I run, or code I add to my own project?A library, not a standalone app: you install it from PyPI and import it inside your own Python script that defines and runs the bot.
What do I need to have before using it?Python 3.8 or higher, and a Discord bot token that you pass to bot.run(). No database or separate service is involved.
Is there anything unusual about writing a bot with it?It's async-first: commands and event handlers are written as async/await coroutines rather than plain functions, so basic familiarity with async Python helps.
What does a minimal bot look like?The quickstart creates the bot with intents, registers a command via the @bot.command() decorator — a ping command that replies 'pong' — and starts everything with bot.run('token').
Does it handle Discord's rate limits for me?Yes. Proper rate limit handling is listed as one of its key features, so the library keeps your bot within the API's limits automatically.
Do I need a powerful server to run my bot?No. Being optimised in both speed and memory is one of the library's stated key features, and a simple bot is just a small Python script.
Creator
Rapptz
Size
22.5 MB
Stars
16.2K
Updated
CommitSep 01
Age
11y
Commits · 90 Days