| 作者 | Danny (Rapptz) |
|---|---|
| 初版 | 2015年8月23日 |
| 最新版 | |
| リポジトリ |
github |
| プログラミング 言語 | Python |
| 使用エンジン | aiohttp |
| 種別 | ウェブアプリケーションフレームワーク |
| ライセンス | MITライセンス |
| 公式サイト |
discordpy |
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からボットのトークンを取得して置き換える
Discordで初のPythonラッパーとして作成されたdiscord.pyは、discord.jsなど他のライブラリに影響を受けている。 なお非同期処理を利用して書かれたこのバージョンはasyncと呼ばれている。
バージョンを1.0にするに伴って全てのコードの書き直しが行われたため、1.x系はrewriteとよばれている。バージョン1.x系で現在も変わらない基本的な構造が構築された。 2021年8月、開発を停止することを発表。理由は「discordの対応や杜撰なインタラクション関連機能に疲弊して」ということだった。その後Pycordやnextcordなどの後発ライブラリが出てきた。[2][3]
開発者のDanny氏にはどれも満足いかないものだったため、約半年後の2022年5月に開発再開を発表。スラッシュコマンドやコンポーネントに対応したバージョン2.0が公開され、現在も開発が続いている。[4]
未登録
IPFS未登録
📡 0ピア
N=1
CRITICAL
PQS C50