aboutsummaryrefslogtreecommitdiff
path: root/README.rst
diff options
context:
space:
mode:
authorRapptz <[email protected]>2019-03-16 04:56:22 -0400
committerRapptz <[email protected]>2019-03-16 05:09:50 -0400
commit36ac1720d8d5670ae5facf59abdb81a25428be2d (patch)
tree3c32ac252e285108ca8412d9d2d35ae51b324bda /README.rst
parent[commands] Add back dm_help tribool for the provided HelpCommands (diff)
downloaddiscord.py-36ac1720d8d5670ae5facf59abdb81a25428be2d.tar.xz
discord.py-36ac1720d8d5670ae5facf59abdb81a25428be2d.zip
Update README
Diffstat (limited to 'README.rst')
-rw-r--r--README.rst98
1 files changed, 54 insertions, 44 deletions
diff --git a/README.rst b/README.rst
index 5ff44885..b8cbd281 100644
--- a/README.rst
+++ b/README.rst
@@ -1,45 +1,53 @@
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>`__.
-
-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``.
+Key Features
+-------------
-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:
+To install the development version, do the following:
.. code:: sh
@@ -47,58 +55,60 @@ or the more long winded from cloned source:
$ 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
+~~~~~~~~~~~~~
+
+.. code:: py
+
+ import discord
+ from discord.ext import commands
+
+ bot = commands.Bot(command_prefix='>')
-Requirements
-------------
+ @bot.command()
+ async def ping(ctx):
+ await ctx.send('pong')
-* Python 3.5.3+
-* ``aiohttp`` library
-* ``websockets`` library
-* ``PyNaCl`` library (optional, for voice only)
+ bot.run('token')
- - On Linux systems this requires the ``libffi`` library. You can install in
- debian based systems by doing ``sudo apt-get install libffi-dev``.
+You can find more examples in the examples directory.
-Usually ``pip`` will handle these for you.
+Links
+------
+- `Documentation <https://discordpy.readthedocs.io/en/latest/index.html>`_
+- `Official Discord Server <https://discord.gg/r3sSKJJ>`_
+- `Discord API <https://discord.gg/discord-api>`_