LoginSignup
1
1

★ 7 ステップで完了 ★ Ruby で Discord Bot 作成

Last updated at Posted at 2023-05-18

前提

  • Bot を動かすための PC があること
    • 自身の PC でも問題ないが,24 時間稼働させたい場合にはレンタルサーバーなどを利用するほうが経済的な可能性がある
  • Ruby の実行環境があること
  • Ruby で for 文程度まで書けること

1. discordrb をインストール

  • discordrb: Ruby を使用した Discord API
  1. 下記コマンドを実行
    1. Windows
      > gem install discordrb --platform=ruby
      
    2. Mac
      $ gem install discordrb
      

2. Application を作成

  1. Discord Developer Portal にアクセス
  2. Applications > New Application
  3. NAME に bot 名を入力
    1. Discord 上で表示される名前
  4. 各種項目に同意して Create
  5. 作成した Bot の詳細画面に自動で遷移する

3. CLIENT IDTOKEN を取得

  1. Discord Bot の詳細画面にアクセス
  2. 左メニューの OAuth2
  3. CLIENT ID をメモ
  4. 左メニューの Bot
  5. TOKEN の下にある Reset Token
  6. 表示された TOKEN をメモ
    1. これらの情報は第三者に漏洩しないよう留意する

4. MESSAGE CONTENT INTENT を有効化

  1. Discord Bot の詳細画面にアクセス
  2. 左メニューの Bot
  3. MESSAGE CONTENT INTENT を有効化する
    1. 有効化しない場合,Discord Server に追加された Bot が,チャンネルに送信されたメッセージの内容を取得できない

5. Discord Server に Bot を招待

  1. Discord Bot の詳細画面にアクセス
  2. 左メニューの OAuth2 > URL Generator
  3. SCOPESbotBOT PERMISSIONSAdministrator を順に選択
  4. GENERATED URL をコピーしてアクセス
  5. 手順に従って任意の Discord Server に Bot を招待

6. Ruby ファイルを作成

  1. 任意のディレクトリに移動
  2. 任意の名前で .rb ファイルを作成
    1. ここでは run.rb とする
  3. 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 ファイルを実行

  1. 下記コマンドで .rb ファイルを実行
    ruby run.rb
    
  2. Bot を招待した Discord Server で,Bot のステータスがオンラインになっていれば成功
  3. 任意のチャンネルに任意のメッセージを送信すると,Bot が「Hello.」と送信する

補足

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1