- Repl.itを使ってDiscordBotを立ち上げて特定のメッセージに対して返信をするBotを作る
今回はRepl.itというサイトでPythonを使ってBotを動かすためのプログラムを作成、実行させます。
Repl.itはウェブブラウザー内で使用できるオンライン IDE(コードを書いて実行することができる環境) です。Repl.itを使うことで自分のパソコンでPythonを実行できる環境がなくてもPythonのプログラムを書いて実行することができます。
- Repl.itにサインアップしてログインします。
- 使用用途と経験が問われるので下のように選択します。(経験はご自由に)
- Pythonを選択します。
- アプリの説明を書きます。(適当で大丈夫です。)
- エディター画面が開いたら下のプログラムをコピー&ペーストします
import discord
import os
client = discord.Client(intents=discord.Intents.all())
@client.event
async def on_ready():
print('We have logged in as {0.user}'.format(client))
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('$hello'):
await message.channel.send('Hello!')
client.run(os.environ['TOKEN'])
- TOKEN情報の保存
-
Discord Developer Portalの自分のアプリを選択し、settingタブのBotからトークンをコピーします。Reset Tokenというボタンが出る人はそれを押してTokenを再作成してください.
-
Repl.itに戻りToolsからSecretsを選択し、出てきた右画面のNew SecretボタンからKeyに TOKEN と入力し、Valueにコピーしたトークンを貼り付けます。
自分の環境でやる人は.envファイルを作成してそこに書き込むことでおなじようにできます。(参考)
-
動作確認 ここまでできたらRunボタンからプログラムを実行してみましょう。うまく行っていればBotがオンラインになると思います。またこのプログラムは $hello とチャットするとHello!と返してくれるプログラムになっています。実際に試してみましょう。止めるときはStopのボタンから止めることができます。
-
反応するメッセージと、返すメッセージを変更しよう 先程のプログラムのこの2行が反応するメッセージと返すメッセージになっています。シングルクォーテーション(')で囲まれた文字列を変更して再度実行しチャットをして試してみましょう。
if message.content.startswith('$hello'):
await message.channel.send('Hello!')