前提
- Bot を動かすための PC があること
- 自身の PC でも問題ないが,24 時間稼働させたい場合にはレンタルサーバーなどを利用するほうが経済的な可能性がある
- Ruby の実行環境があること
- Ruby で for 文程度まで書けること
1. discordrb をインストール
-
discordrb: Ruby を使用した Discord API
- 下記コマンドを実行
-
Windows
> gem install discordrb --platform=ruby -
Mac
$ gem install discordrb
-
Windows
2. Application を作成
- Discord Developer Portal にアクセス
-
Applications>New Application -
NAMEに bot 名を入力- Discord 上で表示される名前
- 各種項目に同意して
Create - 作成した Bot の詳細画面に自動で遷移する
3. CLIENT ID と TOKEN を取得
- Discord Bot の詳細画面にアクセス
- 左メニューの
OAuth2 -
CLIENT IDをメモ - 左メニューの
Bot -
TOKENの下にあるReset Token - 表示された
TOKENをメモ- これらの情報は第三者に漏洩しないよう留意する
4. MESSAGE CONTENT INTENT を有効化
- Discord Bot の詳細画面にアクセス
- 左メニューの
Bot -
MESSAGE CONTENT INTENTを有効化する- 有効化しない場合,Discord Server に追加された Bot が,チャンネルに送信されたメッセージの内容を取得できない
5. Discord Server に Bot を招待
- Discord Bot の詳細画面にアクセス
- 左メニューの
OAuth2>URL Generator -
SCOPESのbot,BOT PERMISSIONSのAdministratorを順に選択 -
GENERATED URLをコピーしてアクセス - 手順に従って任意の Discord Server に Bot を招待
6. Ruby ファイルを作成
- 任意のディレクトリに移動
- 任意の名前で
.rbファイルを作成- ここでは
run.rbとする
- ここでは
-
run.rbに下記の通りに記述require 'discordrb' # 先ほどメモした CLIENT_ID と TOKEN を文字列で記述 CLIENT_ID = "000000000000000000" TOKEN = "XXX" # Bot を作成 bot = Discordrb::Bot.new(client_id: CLIENT_ID, token: TOKEN) # メッセージの投稿に反応して実行するメソッドを定義 bot.message do |event| event.send_message("Hello.") end # Bot を実行 bot.run
7. Ruby ファイルを実行
- 下記コマンドで
.rbファイルを実行ruby run.rb - Bot を招待した Discord Server で,Bot のステータスがオンラインになっていれば成功
- 任意のチャンネルに任意のメッセージを送信すると,Bot が「Hello.」と送信する
補足
-
discordrbの仕様については下記参照