Rapptz 3ebe64c776 [commands] Add checks for checking bot roles and permissions.
There was a bug with has_permissions that checked the bot's permissions
instead of the message author which was also corrected. The docstring
itself hinted that it checked for the author rather than the bot.
2016-01-15 17:24:27 -05:00
2016-01-04 22:28:29 -05:00

discord.py

PyPI PyPI PyPI

discord.py is an API wrapper for Discord written in Python.

This was written to allow easier writing of bots or chat logs. Make sure to familiarise yourself with the API using the documentation.

Breaking Changes

The discord API is constantly changing and the wrapper API is as well. There will be no effort to keep backwards compatibility in versions before v1.0.0.

I recommend that you follow the discussion in the unofficial Discord API discord channel and update your installation periodically through pip install --upgrade discord.py. I will attempt to make note of breaking changes in the API channel.

Installing

Installing the async beta is easy:

pip install git+https://github.com/Rapptz/discord.py@async

Note that this requires git to be installed.

Quick Example

import discord
import asyncio

client = discord.Client()

@client.event
async def on_ready():
    print('Logged in as')
    print(client.user.name)
    print(client.user.id)
    print('------')

@client.event
async def on_message(message):
    if message.content.startswith('!test'):
        logs = await client.logs_from(message.channel, limit=100)
        counter = 0
        tmp = await client.send_message(message.channel, 'Calculating messages...')
        for log in logs:
            if log.author == message.author:
                counter += 1

        await client.edit_message(tmp, 'You have {} messages.'.format(counter))
    elif message.content.startswith('!sleep'):
        await asyncio.sleep(5)
        await client.send_message(message.channel, 'Done sleeping')

client.run('email', 'password')

Note that in Python 3.4 you use @asyncio.coroutine instead of async def and yield from instead of await.

You can find examples in the examples directory.

Requirements

  • Python 3.4.2+
  • aiohttp library
  • websockets library

Usually pip will handle these for you.

Description
No description provided
Readme MIT 68 MiB
Languages
Python 100%