Update README
This commit is contained in:
parent
61f63a9346
commit
36ac1720d8
96
README.rst
96
README.rst
@ -1,104 +1,114 @@
|
||||
discord.py
|
||||
==========
|
||||
|
||||
.. image:: https://discordapp.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
|
||||
|
||||
discord.py is an API wrapper for Discord written in Python.
|
||||
A modern, easy to use, feature-rich, and async ready 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 <http://discordpy.rtfd.org/en/latest>`__.
|
||||
Key Features
|
||||
-------------
|
||||
|
||||
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 joining either the `official discord.py server <https://discord.gg/r3sSKJJ>`_ or the `Discord API server <https://discord.gg/discord-api>`_ for help and discussion about the library.
|
||||
- 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/OS X
|
||||
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/OS X
|
||||
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
|
||||
|
||||
python3 -m pip install -U https://github.com/Rapptz/discord.py/archive/master.zip#egg=discord.py[voice]
|
||||
|
||||
or the more long winded from cloned source:
|
||||
|
||||
.. code:: sh
|
||||
|
||||
$ git clone https://github.com/Rapptz/discord.py
|
||||
$ cd discord.py
|
||||
$ python3 -m pip install -U .[voice]
|
||||
|
||||
Please note that on Linux installing voice you must install the following packages via your favourite package manager (e.g. ``apt``, ``yum``, etc) before running the above command:
|
||||
|
||||
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``, ``yum``, etc) before running the above commands:
|
||||
|
||||
* libffi-dev (or ``libffi-devel`` on some systems)
|
||||
* python-dev (e.g. ``python3.5-dev`` for Python 3.5)
|
||||
* python-dev (e.g. ``python3.6-dev`` for Python 3.6)
|
||||
|
||||
Quick Example
|
||||
-------------
|
||||
--------------
|
||||
|
||||
.. code:: py
|
||||
|
||||
import discord
|
||||
import asyncio
|
||||
|
||||
class MyClient(discord.Client):
|
||||
async def on_ready(self):
|
||||
print('Logged in as')
|
||||
print(self.user.name)
|
||||
print(self.user.id)
|
||||
print('------')
|
||||
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.startswith('!test'):
|
||||
counter = 0
|
||||
tmp = await message.channel.send('Calculating messages...')
|
||||
async for msg in message.channel.history(limit=100):
|
||||
if msg.author == message.author:
|
||||
counter += 1
|
||||
|
||||
await tmp.edit(content='You have {} messages.'.format(counter))
|
||||
elif message.content.startswith('!sleep'):
|
||||
with message.channel.typing():
|
||||
await asyncio.sleep(5.0)
|
||||
await message.channel.send('Done sleeping.')
|
||||
if message.content == 'ping':
|
||||
await message.channel.send('pong')
|
||||
|
||||
client = MyClient()
|
||||
client.run('token')
|
||||
|
||||
You can find examples in the examples directory.
|
||||
Bot Example
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
Requirements
|
||||
------------
|
||||
.. code:: py
|
||||
|
||||
* Python 3.5.3+
|
||||
* ``aiohttp`` library
|
||||
* ``websockets`` library
|
||||
* ``PyNaCl`` library (optional, for voice only)
|
||||
import discord
|
||||
from discord.ext import commands
|
||||
|
||||
- On Linux systems this requires the ``libffi`` library. You can install in
|
||||
debian based systems by doing ``sudo apt-get install libffi-dev``.
|
||||
bot = commands.Bot(command_prefix='>')
|
||||
|
||||
Usually ``pip`` will handle these for you.
|
||||
@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>`_
|
||||
|
Loading…
x
Reference in New Issue
Block a user