会話型の人工無脳を改良してみようとアレコレ調べてみたところ、面白いフレームワークを見つけたので紹介してみます。
HUBOT
GitHub社がMITライセンスで公開しているNode.js製フレームワークです。様々なチャットツールに対応しており、拡張も比較的簡単に行えます。
Node.js製のアプリケーションになるので”heroku”への公開がデフォルトになっていますが、ローカル環境でも実行可能です。
今回はMacのローカル環境で試した後Raspberry Piで実行してみました。
連携させるチャットアプリは、アカウントだけ作ったものの使いみちもなく放置していたSlackを利用しました。
インストール
思ったより試されている方が多く情報が豊富にあるのでそれ程迷わずに導入出来ます。
Node.jsはインストール済みとして始めます。(Raspberry Piでv4.0.0以降のNode.jsをインストールするには Raspberry Piに最新版Node.jsをダウンロード この方法が簡単だと思います)
|
|
私の環境では sudo
からのインストールで上手くいきました。
|
|
ディレクトリを作り実行コマンドでこんなロボットが出てきたら
インストール成功です。
|
|
対話型の質問に答えます。Bot adapter
は後で変更も出来ますがここでslackを指定することも出来ます。
|
|
でサーバーが起動します。
|
|
コマンドラインでBotと会話が出来る様になりました。
SlackでHUBOTを登録する
Slackのチームページにて Apps&integrations>Hubot>Configureを選択し、HUBOT_SLACK_TOKEN=
を確認します。
トークンを指定してアプリを起動すれば、
|
|
Slack側のHubotがオンラインになります。
※ トークンを都度入力しない様にsh
ファイルに実行権限を与えると良い様です。
で、こんな感じ
会話部分は、Hubotのscript
フォルダにモジュールとして記述すれば指定した通りに返事をしてくれます。
単語辞書を作ってもう少し会話らしくしたいのですがとりあえず3パターンのみ登録してみました。
hello.coffee
|
|
Macのブラウザからだとこんな感じ。
iPhoneアプリからも気の利いた返事をしてくれます。
まとめ
とりあえずSlackを使って会話することが出来ました。
Raspberry Piを利用する場合には、実行スクリプトを記述することも出来る様です。(HubotとSlackを使ってRaspberry Piにエアコンのスイッチを入れさせる。みたいな事も出来る様です)
もう少し色々試してみたいですね。では。
参考にさせていただきました
Raspberry Pi 自作Slackボットを作ろう~その2~ HubotのインストールとSlack連携(Herokuは使わない)- たぷん日記