メインコンテンツまでスキップ

RubotyのDiscordアダプターを作りました

Yamagishi Kazutoshi
Software Engineer

最近は仲間内のチャットなどではDiscordをよく使っています。またOSSプロダクトのサポートチャットとしてDiscordを採用している事例もよく目にするようになってきています。

Discordにこの記事で詳しく説明しません。Discordについて気になった方は櫛井さんの書かれたブログ記事がとても良くまとめられているのでご参照ください。

Discordでボットを作るためのライブラリーとしてdiscordrbがあります。discordrbは多機能でさまざまなことができるとても便利なライブラリーなのですが、多機能すぎて少し使い難い側面もありました。そのためRubyでチャットボットを簡単に作ることができるフレームワークであるRubotyのDiscordアダプターを作りました。

Discordの開発者向けページから新規アプリを作り、そこからボットユーザーのトークンを取得するだけで簡単に使えるようになっています。

ボットをサーバーに招待するときはDiscord Permissions Calculatorからできるようになっています。このページはDiscordが公式に提供しているもので、権限の設定からとても自由にできるようになっています。個人にはほかのチャットサービスよりも簡単にボットを作ることができるようになっていると感じました。

Ruboty自体がとても簡単に使えるようになっているためGemfileを

source 'https://rubygems.org'

gem 'ruboty'
gem 'ruboty-discord'

のようにするだけで使えるようになっています。あとはBundlerを使ってインストールした後にbundle exec rubotyでRubotyを動かすだけでDiscordでボットとのメッセージのやりとりができるようになります。

v1.0.0である現時点では必要最低限のメッセージのやりとりしかできませんが、リアクションも行えるようにしたりと機能の拡充をしたいと考えています。なにか要望やフィードバックがある場合はぜひGitHubのIssuesでご報告ください。なんらかの反応をいただけますととても助かります。