本記事が紹介しているXPコミュニティのbot開発は止まっています。Discord bot 開発のフローは変わらないので引き続き公開は続けます。

仮想通貨界隈のコミュニティといえば Discord ですが、こちらでは有志の方々により、日々XPについてのディスカッションや開発がされています!

僕も XP ホルダーとして、何かしら還元できないかと思っていたところ

Discord 上で動く bot の開発を Ruby でしているじゃあありませんか。

というわけで、僕も少しだけ参加しています。

Bot 開発は、そこまで難しいことはしていないですし、コミュニティのみなさんは優しい方が多く、とても参加しやすいと思います。

初めの設定だけ少し面倒なので、今回は環境設定をご紹介いたします。

みなさんもぜひ XP コミュニティを盛り上げていきましょう!

Discord の XP-JP コミュニティに参加しよう!

Discord はゲーム専用コミュニティツールです。チャット機能がメインの音声通話が可能なアプリで、Slack のように Bot を作って連携させることができます。

XP-JP コミュニティには、以下のリンクから参加することが可能です。まずはここから始めましょう。

Discord で自分のサーバーを作ろう!

次に Discord の自分のサーバー を作りましょう。
BOT 開発をする上で、自分のサーバーがあると動作確認が容易になります。

画面左のプラスボタンをクリック

f:id:neko_aquaalta:20171231231724p:plain

新規作成を選択

f:id:neko_aquaalta:20171231232112p:plain

サーバー名を入力し、新規作成をクリック

f:id:neko_aquaalta:20171231232245p:plain

Discord で自分のAppを登録しよう!

サーバーが作られたところで、BOT の登録をします。

discordapp.com

New App をクリック

f:id:neko_aquaalta:20180101013941p:plain

App Name を入力後、Create App をクリック

f:id:neko_aquaalta:20180101014059p:plain

以下の ClientID は後ほど必要になるので控えておきましょう。
f:id:neko_aquaalta:20180101014258p:plain

Bot を登録しよう!

同じページに以下のような BOT 登録フォームがあるので Create Bot をクリック。

f:id:neko_aquaalta:20180101014625p:plain

ポップアップで YES をクリックすると、BOT が作られます。

f:id:neko_aquaalta:20180101022551p:plain

click to reveal をクリックし、BOT の Token を確認します。

実際に自分のサーバーで bot を動かしてみよう!

あとは下記 GitHub の Readme を参照しつつ、実際に動かしてみましょう。

補足

bundle install が途中でエラーしてしまう!ということは割とよくあります。
Error 解消するのめんどい!という場合は、以下の手順でまずは bot の動作をご確認ください。

まずは BOT を動かすのに必要な gem をインストールします。

$ gem install discordrb

次に以下の test.rb というファイルを作成します。

require "discordrb"

TOKEN = <YOUR_BOT_TOKEN>
CLIENT_ID = <YOUR_CLIENT_ID>

bot = Discordrb::Commands::CommandBot.new(
  token: TOKEN,
  client_id: CLIENT_ID,
  prefix: "/",
)

bot.command :hello do |event|
  event.send_message("Hello, #{event.user.name}!")
end

bot.run

次に ruby で BOT を起動。

$ ruby test.rb

あとは自分のサーバーでコマンドを叩けば反応するはずです。

f:id:neko_aquaalta:20180101022232p:plain

XP コミュニティの開発者に加わろう!

XP-JP コミュニティの xpjp-lab では、開発メンバーを募集しています!

discordapp.com

今回ご紹介している Bot 開発を始め、XP Wallet やホワイトペーパーの日本語翻訳など幅広く行っています。
少しでも興味を持たれた方はぜひお気軽に参加してみてください。

ちんじゅうでした!