discord.py
.. image:: https://discord.com/api/guilds/336642139381301249/embed.png :target: https://discord.gg/r3sSKJJ :alt: Discord服务器邀请 .. image:: https://img.shields.io/pypi/v/discord.py.svg :target: https://pypi.python.org/pypi/discord.py :alt: PyPI版本信息 .. image:: https://img.shields.io/pypi/pyversions/discord.py.svg :target: https://pypi.python.org/pypi/discord.py :alt: PyPI支持的Python版本
一个为Discord编写的现代、易用、功能丰富且支持异步的API封装库,使用Python语言开发。
主要特性
- 使用
async
和await
的现代Python API。 - 正确的速率限制处理。
- 在速度和内存方面都经过优化。
安装
需要Python 3.8或更高版本
如果不需要完整的语音支持,可以直接运行以下命令安装库:
.. code:: sh
# Linux/macOS
python3 -m pip install -U discord.py
# Windows
py -3 -m pip install -U discord.py
如果需要语音支持,请运行以下命令:
.. code:: sh
# Linux/macOS
python3 -m pip install -U "discord.py[voice]"
# Windows
py -3 -m pip install -U discord.py[voice]
要安装开发版本,请执行以下操作:
.. code:: sh
$ git clone https://github.com/Rapptz/discord.py
$ cd discord.py
$ python3 -m pip install -U .[voice]
可选包
* `PyNaCl <https://pypi.org/project/PyNaCl/>`__ (用于语音支持)
请注意,在Linux上安装语音支持时,在运行上述命令之前,必须通过您喜欢的包管理器(如``apt``、``dnf``等)安装以下包:
* libffi-dev(在某些系统上为``libffi-devel``)
* python-dev(例如,Python 3.8的``python3.8-dev``)
快速示例
--------------
.. code:: py
import discord
class MyClient(discord.Client):
async def on_ready(self):
print('登录为', self.user)
async def on_message(self, message):
# 不回应自己的消息
if message.author == self.user:
return
if message.content == 'ping':
await message.channel.send('pong')
intents = discord.Intents.default()
intents.message_content = True
client = MyClient(intents=intents)
client.run('token')
机器人示例
~~~~~~~~~~~~~
.. code:: py
import discord
from discord.ext import commands
intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix='>', intents=intents)
@bot.command()
async def ping(ctx):
await ctx.send('pong')
bot.run('token')
您可以在examples目录中找到更多示例。
链接
------
- `文档 <https://discordpy.readthedocs.io/en/latest/index.html>`_
- `官方Discord服务器 <https://discord.gg/r3sSKJJ>`_
- `Discord API <https://discord.gg/discord-api>`_