committed by
Rapptz
3 changed files with 107 additions and 111 deletions
@ -1,110 +0,0 @@ |
|||||
# discord.py |
|
||||
|
|
||||
[](https://pypi.python.org/pypi/discord.py/) |
|
||||
[](https://pypi.python.org/pypi/discord.py/) |
|
||||
|
|
||||
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][doc]. |
|
||||
|
|
||||
[doc]: 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`. |
|
||||
|
|
||||
I recommend that you follow the discussion in the [unofficial Discord API discord channel][ch] and update your installation periodically. I will attempt to make note of breaking changes in the API channel so make sure to subscribe to library news by typing `?sub news` in the channel. |
|
||||
|
|
||||
[ch]: https://discord.gg/0SBTUU1wZTUzBx2q |
|
||||
|
|
||||
## Installing |
|
||||
|
|
||||
To install the library without full voice support, you can just run the following command: |
|
||||
|
|
||||
``` |
|
||||
python3 -m pip install -U discord.py |
|
||||
``` |
|
||||
|
|
||||
Otherwise to get voice support you should run the following command: |
|
||||
|
|
||||
``` |
|
||||
python3 -m pip install -U discord.py[voice] |
|
||||
``` |
|
||||
|
|
||||
To install the development version, do the following: |
|
||||
|
|
||||
``` |
|
||||
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: |
|
||||
|
|
||||
``` |
|
||||
$ 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: |
|
||||
|
|
||||
- libffi-dev (or `libffi-devel` on some systems) |
|
||||
- python<version>-dev (e.g. `python3.5-dev` for Python 3.5) |
|
||||
|
|
||||
## Quick Example |
|
||||
|
|
||||
```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('------') |
|
||||
|
|
||||
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.') |
|
||||
|
|
||||
client = MyClient() |
|
||||
client.run('token') |
|
||||
``` |
|
||||
|
|
||||
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 |
|
||||
- `PyNaCl` library (optional, for voice only) |
|
||||
- On Linux systems this requires the `libffi` library. You can install in |
|
||||
debian based systems by doing `sudo apt-get install libffi-dev`. |
|
||||
|
|
||||
Usually `pip` will handle these for you. |
|
||||
|
|
||||
## Related Projects |
|
||||
|
|
||||
- [discord.js](https://github.com/discord-js/discord.js) |
|
||||
- [discord.io](https://github.com/izy521/discord.io) |
|
||||
- [Discord.NET](https://github.com/RogueException/Discord.Net) |
|
||||
- [DiscordSharp](https://github.com/Luigifan/DiscordSharp) |
|
||||
- [Discord4J](https://github.com/knobody/Discord4J) |
|
||||
- [discordrb](https://github.com/meew0/discordrb) |
|
@ -0,0 +1,106 @@ |
|||||
|
discord.py |
||||
|
========== |
||||
|
|
||||
|
.. image:: https://img.shields.io/pypi/v/discord.py.svg |
||||
|
:target: https://pypi.python.org/pypi/discord.py |
||||
|
.. image:: https://img.shields.io/pypi/pyversions/discord.py.svg |
||||
|
:target: https://pypi.python.org/pypi/discord.py |
||||
|
|
||||
|
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 <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``. |
||||
|
|
||||
|
I recommend that you follow the discussion in the `unofficial Discord API discord channel <https://discord.gg/0SBTUU1wZTUzBx2q>`__ and update your installation periodically. I will attempt to make note of breaking changes in the API channel so make sure to subscribe to library news by typing ``?sub news`` in the channel. |
||||
|
|
||||
|
Installing |
||||
|
---------- |
||||
|
|
||||
|
To install the library without full voice support, you can just run the following command: |
||||
|
|
||||
|
.. code:: sh |
||||
|
|
||||
|
python3 -m pip install -U discord.py |
||||
|
|
||||
|
Otherwise to get voice support you should run the following command: |
||||
|
|
||||
|
.. code:: sh |
||||
|
|
||||
|
python3 -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: |
||||
|
|
||||
|
* libffi-dev (or ``libffi-devel`` on some systems) |
||||
|
* python-dev (e.g. ``python3.5-dev`` for Python 3.5) |
||||
|
|
||||
|
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('------') |
||||
|
|
||||
|
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.') |
||||
|
|
||||
|
client = MyClient() |
||||
|
client.run('token') |
||||
|
|
||||
|
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 |
||||
|
* ``PyNaCl`` library (optional, for voice only) |
||||
|
|
||||
|
- On Linux systems this requires the ``libffi`` library. You can install in |
||||
|
debian based systems by doing ``sudo apt-get install libffi-dev``. |
||||
|
|
||||
|
Usually ``pip`` will handle these for you. |
||||
|
|
Loading…
Reference in new issue