discord.py README

The project's README from github.com/Rapptz/discord.py. As one markdown file: README.md.

discord.py

.. image:: https://discord.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

A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python.

Key Features

Installing

Python 3.8 or higher is required

To install the library without full voice support, you can just run the following command:

.. note::

A `Virtual Environment <https://docs.python.org/3/library/venv.html>`__ is recommended to install
the library, especially on Linux where the system Python is externally managed and restricts which
packages you can install on it.

.. code:: sh

# Linux/macOS
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/macOS
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

$ git clone https://github.com/Rapptz/discord.py
$ cd discord.py
$ python3 -m pip install -U .[voice]

Optional Packages


* `PyNaCl <https://pypi.org/project/PyNaCl/>`__ (for voice support)

Please note that when installing voice support on Linux, you must install the following packages via your favourite package manager (e.g. ``apt``, ``dnf``, etc) before running the above commands:

* libffi-dev (or ``libffi-devel`` on some systems)
* python-dev (e.g. ``python3.8-dev`` for Python 3.8)

Quick Example
--------------

.. code:: py

    import discord

    class MyClient(discord.Client):
        async def on_ready(self):
            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 == 'ping':
                await message.channel.send('pong')

    intents = discord.Intents.default()
    intents.message_content = True
    client = MyClient(intents=intents)
    client.run('token')

Bot Example
~~~~~~~~~~~~~

.. 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')

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>`_

discord.py (Rapptz/discord.py)

Searching Database…

这是什么东西?一个用于和 Discord API 交互的 Python 库:你用 Python 编写机器人,discord.py 会帮你处理底层的 API 工作。
那它是一个我直接运行的程序,还是加到我项目里的代码?它是一个库,不是独立应用:从 PyPI 安装后,在你自己的 Python 脚本里导入它,由这个脚本来定义并运行机器人。
使用之前我需要准备什么?需要 Python 3.8 或更高版本,以及一个 Discord 机器人令牌(token),把它传给 bot.run() 即可。不涉及数据库或独立的服务。
用它写机器人有什么特别之处吗?它以异步为主:命令和事件处理都要写成 async/await 协程,而不是普通函数,所以对 Python 的异步编程有基本了解会很有帮助。
一个最简单的机器人是什么样的?快速上手示例会先设置 intents 来创建机器人,用 @bot.command() 装饰器注册一个命令——一个回复 'pong' 的 ping 命令——最后用 bot.run('token') 启动一切。
它会帮我处理 Discord 的速率限制吗?会的。完善的速率限制处理是它的核心特性之一,库会自动让你的机器人保持在 API 的限制范围之内。
运行机器人需要很强的服务器吗?不需要。在速度和内存两方面都做了优化是它宣称的核心特性之一,而且一个简单的机器人只是一小段 Python 脚本而已。
Creator
Rapptz
Size
22.5 MB
Stars
16.2K
Updated
CommitSep 01
Age
11y
Commits · 90 Days