DiscordでBotをつくる
はじめに
DiscordのAPIを利用してオウム返しをするBotを作成してみます.
環境
- Windows7 64bit
- Python3.5 64bit
環境構築
discord用のライブラリがあるのでそれを利用します.
1$ python3 -m pip install discord
コード
こんな感じのコードでメッセージを受信してオウム返し出来ます.
asyncioの関係で3.4と3.5では文法が変わります.
こんな感じ
@asyncio.coroutine → async
yield from → await
まぁドキュメントに書いてあるんですけどね
 1import discord
 2
 3client = discord.Client()
 4
 5@client.event
 6async def on_ready():
 7    print("-"*20)
 8    print("ユーザー名:", client.user.name)
 9    print("ユーザーID:", client.user.id)
10    print("-"*20)
11
12@client.event
13async def on_message(message):
14	if not message.author.id == client.user.id:
15		await client.send_message(message.channel, message.content)
16		print("投稿しました")
17
18	print("投稿者:", message.author)
19	print("メッセージ:", message.content)
20
21client.run(os.environ["DISCORD_API_TOKEN"])
結構簡単に出来るのが良いですね
追記 2018-07-12
検索で来る人が結構いるみたいなのでTOKENの取り方とBotをサーバーに参加させる方法
DISCORD_API_TOKENは以下のURLから発行できます
https://discordapp.com/developers/applications/me
ここから新しいアプリ -> アプリを作成からアプリを作ります
アプリのアイコンの下辺りにBotの項目があるのでBotユーザーを作成から作成します
確認のダイアログが出てくるので実行をクリックして続行します
トークンの横にあるクリックして表示から取得できます
作ったBotはOAUTH2 URL GENERATORの項目からbotだけ有効にしてURLをコピーしてアクセスすると自分が所属するサーバーにBotを参加させることができます