GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

Rapptz

discord.py – Pythonで書かれたDiscordのAPIラッパー

投稿日:

Pythonで書かれたDiscordのAPIラッパー。 http://discordpy.rtfd.org/en/latest

discord.py

discord.pyは、Pythonで書かれたDiscordのAPIラッパーです。

これはボットやチャットログを簡単に書き込めるように書かれています。 ドキュメントを使用してAPIに慣れていることを確認してください。

変更を破る

不和APIは絶えず変化しており、ラッパーAPIも同様です。 v1.0.0より前のバージョンでは下位互換性を保つための努力はありません。

ライブラリに関するヘルプやディスカッションについては、 公式のdiscord.pyサーバまたはDiscord APIサーバに参加することをお勧めします。

インストール

完全な音声サポートなしでライブラリをインストールするには、次のコマンドを実行します。

python3 -m pip install -U discord.py

それ以外の場合は、音声サポートを受けるには次のコマンドを実行する必要があります。

python3 -m pip install -U discord.py[voice]

開発版をインストールするには、次の手順を実行します。

python3 -m pip install -U https://github.com/Rapptz/discord.py/archive/master.zip#egg=discord.py[voice]

複製された情報源からより長く巻き込まれたもの:

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

Linuxのインストールでは、上記のコマンドを実行する前に、あなたの好きなパッケージマネージャ(例えばaptyumなど)を介して以下のパッケージをインストールする必要があります。

  • libffi-dev(または一部のシステムではlibffi-devel
  • python-dev(例:Python 3.5の場合はpython3.5-dev

簡単な例

import discord
import asyncio

client = discord.Client()

@client.event
async def on_ready():
    print('Logged in as')
    print(client.user.name)
    print(client.user.id)
    print('------')

@client.event
async def on_message(message):
    if message.content.startswith('!test'):
        counter = 0
        tmp = await client.send_message(message.channel, 'Calculating messages...')
        async for log in client.logs_from(message.channel, limit=100):
            if log.author == message.author:
                counter += 1

        await client.edit_message(tmp, 'You have {} messages.'.format(counter))
    elif message.content.startswith('!sleep'):
        await asyncio.sleep(5)
        await client.send_message(message.channel, 'Done sleeping')

client.run('token')

Python 3.4では、 async def代わりに@asyncio.coroutineを使用し、 @asyncio.coroutine代わりに@asyncio.coroutineを使用することに注意してください。

サンプルディレクトリにexamplesがあります。

要件

  • Python 3.4.2+
  • aiohttpライブラリ
  • websocketsライブラリ
  • PyNaClライブラリ(オプション、音声のみ)
    • Linuxシステムでは、これにはlibffiライブラリが必要です。 Debianベースのシステムにインストールするには、 sudo apt-get install libffi-devます。

通常、 pipがこれらを処理します。







-Rapptz
-, , ,

執筆者: