convo.say()で発言をします。convo.next()で、会話を次に進めます。通常は、会話が終了します。convo.repeat()で、質問を繰り返します。この場合、最初の質問にも戻ります。実行して質問を開始します。なかに、質問の返答を記述していきます。返答の記述方法は、下記の形です。convo.say()で発言をします。convo.next()で、会話を次に進めます。通常は、会話が終了します。},用意したパターンにマッチしなかった場合の処理は、下記のように記述します。convo.repeat()で、質問を繰り返します。この場合、最初の質問にも戻ります。}少し複雑ですが、サンプルのテンプレをコピペして使えば基本は大丈夫です!より高度な事もできますが、ここでは割愛します。Flowの章をご覧ください。絵文字リアクションSlackには「絵文字リアクション」という機能があります。具体的には誰かのメッセージに絵文字でリアクションをつけれる、というもの。絵文字はボタンになって、他の人が押す事もできます。したアンケートや投票をする、といった使い方をしている人もいるようです。文章だけだとついつい固くなりがちですが、絵文字リアクションを使うと、ちょっと場が和みますね!Slack特化のBotkitでは、もちろんこの絵文字リアクションも可能です。実際にBotに絵文字リアクションをしてもらった様子は、以下の通り。サンプルソースでは、105-124行目の部分です。受け取ったユーザー発言に対し、絵文字リアクションをしています。ソースはすこし記述が多いですが、重要なのは以下の部分。部分を変更すれば、好きな絵文字でリアクションができます。SHEETというサイトで確認できます。工夫しだいで面白い会話が実装できそうですね!データを記録する一時的にデータを記録しておく事もできます。今回のサンプルでは、Botに名前を覚えてもらう機能を実装しました。以下が実際にBotに名前を覚えてもらった様子。このデータ保存を行っているのは、152-195行目の部分です。「◯◯って呼んで」の、◯◯の部分を取り出します。hearsの正規表現にマッチした単語が入っています。controller.storage.users.getで、ユーザーデータを取得します。message.userには、ユーザーIDが入っています。ユーザーデータは、ユーザーIDと紐付けていますので、第一引数には、必ずmessage.userを入れます。※第二引数で指定した変数(ここでは'user_info')に、ユーザーデータが入っています。オブジェクトを、user_infoとして作成します。user_infoを保存します。ユーザーのデータを取得します。中に、取得後/保存後に行う処理を記述していきます。Botkitはユーザーに対してだけでなく「ユーザー」「チャンネル」「チーム」ごとでデータを保持する事ができます。保存したデータは、セッションの続く間、保持されます。「Botが起動し続けている間だけ」保持するという事。Botがスリープしたり再起動するとリセットされるので、注意が必要です。Modulesの章をご覧ください。Herokuで動かしてみよう!さて、ここまでご紹介してきたBotkit。「興味が出てきたので、動かしてみたいなぁ」という方もいるのでは...?というわけで今回は、クリックするだけでHeroku上でBotkitをデプロイ(環境構築+動作)できる魔法のボタンをご用意しました!さっそくデプロイ!と行きたい所ですが、その前に、必要なものを確認・準備しましょう。必要なものSlackチーム/アカウントHerokuアカウントSlackのBot作成用Token※Slack・Herokuのアカウント作成については今回は割愛します。Bot作成用Tokenを用意しようSlackチームにBotを追加するには、「Bot作成用Token」を用意しなければいけません。言っても、こちらも簡単に作成できるのでご安心を。SlackのBot追加ページを開きます。integration」をクリックすると、Tokenが作成できます。デプロイの際に必要になりますので、コピーして保管しておきましょう。魔法のボタンでデプロイ!さぁ、準備が整いました。こちらをクリックすると、デプロイが始まります。すると、下記のような画面が表示されます。deployed.」というメッセージが表示され、デプロイが完了します。ここから変更が必要な設定が、1つだけあります。App」をクリックして管理画面に進みましょう。Dynos」をクリックします。すると次のような画面に進みます。現在は、「webがON」「workerがOFF」になっているかと思います。右部分にある鉛筆アイコンをクリックして、設定を編集します。下記画像のように、「webがOFF」「workerがON」になるよう、設定してください。これで、デプロイ+設定は完了です!おつかれさまでした!Slack上で、Botが動いているか確認しましょう!まとめ今回は、Botkitでできる基本的なことをご紹介しました。Slackに特化したフレームワークならではの表現豊かなBotが作れそうですね!今回は割愛しましたが、ほかにもファイルがアップロードされたときに〇〇な処理をする、などの高度な事もできるようです。日本開発者向けの公開グループも作成してみましたので、是非ご参加してみてください!自分もよくSlackを使うので、Botkitで何か作ってみようと思います。孟典14歳からwebプログラミングを始め、いままでに20個以上のwebサービスをリリース。現在はディープラーニングエンジニア兼ライターとして活動。システム設計から、開発、デザイン、コンテンツライティングまで一通りできるのが強み。カラオケ★バトル』のツイートを自然言語処理で最適化。Wed学ぼう、チャットボットの基本。FriAI本格導入に向け検討へ。セブン銀行に聞いたAI実証実験の進め方。