Discord.py

出典: フリー百科事典『ウィキペディア(Wikipedia)』
discord.py
作者 Danny (Rapptz)
初版 2015年8月23日 (8年前) (2015-08-23)
最新版
2.3.2[1] ウィキデータを編集 / 2023年8月10日 (8か月前)
リポジトリ github.com/Rapptz/discord.py
プログラミング
言語
Python
使用エンジン aiohttp
種別 ウェブアプリケーションフレームワーク
ライセンス MITライセンス
公式サイト discordpy.readthedocs.io/ja/stable/index.html
テンプレートを表示

discord.py(ディスコードドットピーワイ)は、Discord上でBotを作成するためのPythonライブラリPyPI上で公開されており、pipを使うことによってダウンロードできる。

機能[編集]

discord.pyは非同期処理ライブラリのaiohttpを用い、WebSocketによってDiscordと接続・通信を行う。

関数1つをイベントリスナー1つとして認識させることでそれぞれのコードを独立させ、見やすさを保っている。

[編集]

基本的なコード:

import discord

intents = discord.Intents.default()

client = discord.Client(intents=intents)

@client.event
async def on_ready():
    print(f'We have logged in as {client.user}')
    
client.run('your token here') #Discord Developer Portalからボットのトークンを取得して置き換える

$helloから始まるメッセージにHello!と返すコード:

import discord

intents = discord.Intents.default()
intents.message_content = True 

client = discord.Client(intents=intents)

@client.event
async def on_ready():
    print(f'We have logged in as {client.user}')

@client.event
async def on_message(message):
    if message.author == client.user: #メッセージの送信者が自分自身の場合何もしない
        return

    if message.content.startswith('$hello'): #$helloからメッセージが始まる場合Hello!と送る
        await message.channel.send('Hello!')
    
client.run('your token here') #Discord Developer Portalからボットのトークンを取得して置き換える

歴史[編集]

バージョン0.x(async)[編集]

Discordで初のPythonラッパーとして作成されたdiscord.pyは、discord.jsなど他のライブラリに影響を受けている。 なお非同期処理を利用して書かれたこのバージョンはasyncと呼ばれている。

バージョン1.x(rewrite)[編集]

バージョンを1.0にするに伴って全てのコードの書き直しが行われたため、1.x系はrewriteとよばれている。バージョン1.x系で現在も変わらない基本的な構造が構築された。 2021年8月、開発を停止することを発表。理由は「discordの対応や杜撰なインタラクション関連機能に疲弊して」ということだった。その後Pycordやnextcordなどの後発ライブラリが出てきた。[2][3]

バージョン2.0から現在[編集]

開発者のDanny氏にはどれも満足いかないものだったため、約半年後の2022年5月に開発再開を発表。スラッシュコマンドやコンポーネントに対応したバージョン2.0が公開され、現在も開発が続いている。[4]

脚注[編集]

  1. ^ Release 2.3.2” (10 8月 2023). 18 9月 2023閲覧。
  2. ^ The Future of Dpy”. 2023年5月11日閲覧。
  3. ^ ryoppi913「Discord.pyが開発終了。-すまほん!!」『すまほん!!』、2021年9月3日。
  4. ^ discord.py開発再開のお知らせ”. 2023年5月11日閲覧。