Installing discord.io#

This is the documentation for discord.io, a library for Python to aid in creating applications that utilise the Discord API.

Prerequisites#

discord.io works with Python 3.8 or higher. Support for earlier versions of Python is not provided. Python 2.7 or lower is not supported. Python 3.7 or lower is not supported.

Installing#

Note

For new features in upcoming versions, you will need to install the pre-release until a stable version is released.

python3 -m pip install -U discord.io --pre

For Windows users, this command should be used to install the pre-release:

py -3 -m pip install -U discord.io --pre

You can get the library directly from PyPI:

python3 -m pip install -U discord.io

If you are using Windows, then the following should be used instead:

py -3 -m pip install -U discord.io

To install additional packages for speedup, you should use discord.io[speed] instead of discord.io, e.g.

# Linux/macOS
python3 -m pip install -U "discord.io[speed]"

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

To get voice support, you should use discord.io[voice] instead of discord.io, e.g.

python3 -m pip install -U discord.io[voice]

On Linux environments, installing voice requires getting the following dependencies:

For a Debian-based system, the following command will get these dependencies:

$ apt install libffi-dev libnacl-dev python3-dev

Remember to check your permissions!

Virtual Environments#

Sometimes you want to keep libraries from polluting system installs or use a different version of libraries than the ones installed on the system. You might also not have permissions to install libraries system-wide. For this purpose, the standard library as of Python 3.3 comes with a concept called “Virtual Environment”s to help maintain these separate versions.

A more in-depth tutorial is found on Virtual Environments and Packages.

However, for the quick and dirty:

  1. Go to your project’s working directory:

    $ cd your-bot-source
    $ python3 -m venv bot-env
    
  2. Activate the virtual environment:

    $ source bot-env/bin/activate
    

    On Windows you activate it with:

    $ bot-env\Scripts\activate.bat
    
  3. Use pip like usual:

    $ pip install -U discord.io
    

Congratulations. You now have a virtual environment all set up.

Basic Concepts#

discord.io revolves around the concept of events. An event is something you listen to and then respond to. For example, when a message happens, you will receive an event about it that you can respond to.

A quick example to showcase how events work:

import discord

class MyClient(discord.Client):
    async def on_ready(self):
        print(f'Logged on as {self.user}!')

    async def on_message(self, message):
        print(f'Message from {message.author}: {message.content}')

client = MyClient()
client.run('my token goes here')