github HUBOTのパクリです。
- インストール
git clone https://github.com/naosim/fubot.git
cd fubot
npm install
- 実行
node app.js
- 会話
- ブラウザで
http://localhost:3000/web/
にアクセスする。 - ブラウザのDeveloperConsoleを開く
- DeveloperConsoleに
と入力するsay('Hello')
→はろー
が返れば成功。 - ブラウザで
会話はscripts/script.js
を変更することでカスタマイズできます。
以下、カスタマイズ例です。
scripts/script.js
を開く- 下記を追加する
robot.hear(/Hi/i, function(msg, sender) {
sender.send("Hi! Hi!", msg.from);
});
- アプリを再起動
node app.js
- ブラウザのDeveloperConsoleに
say('Hi')
と入力する
→Hi! Hi!
が返れば成功。
Chatworkで会話できるようにします。
- ChatworkのAPITokenを取得する
Chatworkのサイトで取得してください。※取得には数日かかります。 - ルームIDを確認する
たとえばルームのURLがhttps://www.chatwork.com/#!rid123456
なら、ルームIDは123456
です。 - 自分(bot)のIDを確認する 自分宛にtoでメッセージを送るとわかります。数値型です。
- Adapterの設定、APIToken、ルームIDを環境変数に指定してアプリを起動する
NODE_ADAPTER_SCRIPT=ChatworkAdapter.js NODE_CHATWORK_TOKEN=xxxxxx NODE_CHATWORK_USER_ID=xxxx NODE_CHATWORK_ROOM_ID=xxxx node app.js
- ChatworkでTokenを取得したユーザにタスク「Hello」をふる
タイムラインにはろー
と表示されれば成功
※表示までに最大30秒かかります。
先ほどの例は、すべてのメッセージに反応しますが sctipt.jsでこんな感じに書くと、自分宛のメッセージのみに反応するようにできます。
robot.hear(
function(msg) {
return msg.body.indexOf('hello') != -1 && msg.isMe
},
function(msg, sender) {
sender.send("はろー", msg.from);
}
);
-
/adapter
ディレクトリ内にjsファイルを作って実装してください。
実行時に環境変数NODE_ADAPTER_SCRIPT
にファイル名を指定すると読み込まれます。 -
Adapterの実装
- module.exports.adapterを実装する
module.exports.adapter = function(robot) {}
- 引数
robot
の仕様は、fubot/fubot.jsを参照 module.exports.adapter
内でrobot.runEnter(sender)
を呼ぶ- メッセージが到着したら
robot.receive(msg, sender)
を呼ぶ