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を参加させることができます