ボトムズ日記スマートフォン用の表示で見るボトムズ日記1990年生まれ社会人大学生してます。2018の1日目の記事です。Slackにてルーレットをして人にメンションを飛ばせるBotを作成しました。完成イメージは↓↓↓こんな感じで、スプレッドシートに前回の当選者を残しながらランダムで人を指定するシステムです。2019年が間近に迫っているのに今更感が否めませんが、お付き合いください。目的Slackとスプレッドシートを連携しようと思ったきっかけは、所属しているチームにて毎週行われるチームミーティングでは、KPTを用いた「ふりかえり」を行っていて、ファシリテーターを決める必要があります。ファシリテーターは毎回違う人を選びます。過去3、4回ぐらい前にファシリテーターになった人までは、ファシリテーターの候補から外していました。3、4週前のこととなると忘れていることが多く、覚えていない時もあります。したがって、過去3回までにファシリテーターを担当した人以外をランダムに選ぶようなルーレットを作りたいと思いました。チームミーティングの出席者が様々な事情で変動することがあり、エンジニア以外にも人数の編集しやすく、使いやすいスプレッドシートという媒体を使用して、Slackを通じてランダムでファシリテーターを指名したいと思いました。この記事を書いた目的は、Hubotとスプレッドシートの連携の記事の多くは、完成したコードがバーンと公開されていて、仕組みを追いながら理解することができないからです。コピペして運用するぶんには問題ありませんが、一応エンジニアなので仕組みを理解しつつやっていきたいという気持ちがあります。初めから順を追って作成します。メンションしたら、あらかじめ指定した候補者の中から1名をランダムで選択して、その人に対してメンションする。過去3回までのルーレットの当選者は、選ばれる候補者の中から外れる。候補者のリストは、スプレッドシートで管理する。この3つの要件を満たすように作っていきましよう。開発順序SlackとHubotを連携させる。Hubotで、Slackからのリクエストを処理できるようにする。スプレッドシートから、Hubotに対して、候補者のリストから1名をランダムに選択して、レスポンスしてあげる。ディレクトリでHubotと検索して、アプリをワークスペースに追加します。ディレクトリ「設定を追加」を選択して、Hubotの名前を入力してHubotインテグレーションを使いします。ここでは名前を「roulette」とします。次に追加したHubotのインテグレーションの設定を変更します。APIトークンはHubotのプロセスを立ち上げるときに必要です。Hubtoの設定Hubotのチュートリアルの通りやっていきましょう。HUBOTまずHubotを動かすためのパッケージをインストールします。