2018.04.28

Discord Botの作り方


はじめに

何かメッセージを送ると、「Hello, world!」と返事を返すBotを作成します。

使用するOS

  • Windows 10

使用する言語・ライブラリ

  • Ruby
  • discordrb

Rubyとは?

オープンソースの動的なプログラミング言語で、
シンプルさと高い生産性を備えています。
エレガントな文法を持ち、自然に読み書きができます。

引用元:オブジェクト指向スクリプト言語 Ruby

discordrbとは?

RubyでDiscord APIを利用するために必要なライブラリです。

meew0/discordrb: Discord API for Ruby

環境構築

Rubyのインストール

  1. RubyInstallerにアクセスして
    WITH DEVKITRuby+Devkit 2.4.4-1 (x86)をダウンロードします。
    この際、x64と書かれている方は選ばないでください^1

  2. ダウンロードしたexeファイルを実行します。

  3. 「I accept the Licence」にチェックを入れて、「Next」をクリック。

  4. 「Use UTF-8 as default external encoding.」にチェックを入れて、「Install」をクリック。

  5. 「MSYS development toolchain」にチェックが入っているのを確認して、「Next」をクリック。

  6. インストールが完了するまで待ちます。

  7. インストール完了後、「Run 'ridk install' to setup...」のチェックを入れて、 「Finish」をクリックします。

  8. その後コンソール画面が出てくるので、「2」を入力して、Enterキーを叩きます。

  9. 「MSYS2 system update (optional) succeeded」と表示されたらアップデート完了です。

  10. コマンドプロンプトを立ち上げて、ruby -vと入力してEnterキーを叩きます。
    以下のようにバージョン情報が表示されたらOKです。

discordrbのインストール

  1. コマンドプロンプトを立ち上げて、以下のコマンドを実行します。

     gem install discordrb

  2. インストール中にファイアウォールが反応する場合は、
    「プライベートネットワーク」にチェックを入れて「アクセスを許可する」をクリック。

  3. 画像のように「○○ gems installed」と表示されていれば完了です。

エディタのインストール

オススメのエディタはVisual Studio Codeです。

  1. 公式サイト にアクセスしてDownload for Windowsからダウンロードします。

  2. ダウンロードしたexeファイルを実行します。

  3. 「次へ」をクリック。

  4. 「同意する」にチェックを入れて、「次へ」をクリック。

  5. 「次へ」をクリック。

  6. 「次へ」をクリック。

  7. 実行したい項目にチェックを入れて、「次へ」をクリック。

  8. インストールが完了するまで待ちます。

  9. 「完了」をクリックでインストール完了です。

Botの登録

  1. Discord - My Appsにアクセスして「New App」をクリック。

  2. APP NAMEにBotへ設定したい名前を入力して、「Create App」をクリック。
    GREAT SUCCESS!と表示されていればOKです。

  3. 「Create a Bot User」をクリック。

  4. 選択肢が表示されるので、「Yes, do it!」を選んでください。

  5. Botの作成で必要になるので、「click to reveal」をクリックして、
    表示されたトークン(英数字記号の羅列)をメモっておきましょう。

サーバーへ招待

  1. 「Generate OAuth2 URL」をクリック。

  2. 「bot」のチェックを入れて、
    「COPY」で招待URLをコピーします。

  3. 招待URLを新しいタブで開き、導入したいサーバーを選択して、
    「認証」をクリックします。

  4. 「私はロボットではありません」のチェックを入れます。

  5. Discordでちゃんと参加出来ていれば完了です。

Botの作成

  1. Visual Studio Codeを起動して、新しいファイルを作成します。

  2. 以下のようにコードを入力しましょう。
    tokenには先ほどコピーしたトークン(英数字記号の羅列)を指定してください。

    require 'discordrb'
    
    # Botの登録でメモったトークンを貼り付ける
    # トークンはシングルクォーテーション もしくは ダブルクォーテーションで囲むこと!
    bot = Discordrb::Bot.new(
        token: 'ここにトークンを貼り付ける'
    )
    
    bot.message do |event|
        # Botがメッセージを受け取った時の処理
        event.respond 'Hello, world!'
    end
    
    # 実行開始
    bot.run

    コード例

    require 'discordrb'
    
    bot = Discordrb::Bot.new(
        token: 'NDM3OTczODQ5NjQxMDU4MzA2.DcY10w.qdcmPzbYhQN9wwE2PLsWTD5hEU0'
    )
    
    bot.message do |event|
        event.respond 'Hello, world!'
    end
    
    bot.run
  3. bot.rbというファイル名でデスクトップに保存してください。

Botの実行

  1. コマンドプロンプトを立ち上げて、
    rubyと入力した後、半角スペースを入力します。

  2. デスクトップにあるbot.rbを、
    コマンドプロンプトにドラッグアンドドロップして、Enterキーを叩きます。

  3. Discordを開いて、Botがオンラインになっていることを確認して、
    何か文字を打ってみましょう。

  4. Hello, world!と返事が返ってきたらOKです。

以上、Botの作り方でした。


^1. 64ビット版(x64)では音声機能が使用不可なので非推奨です。