前提
- 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
の仕様については下記参照