事前にnode.jsのインストールとslackのアカウント作成をおこなうこと
https://my.slack.com/services/new/bot
へアクセスしてBotを作成。
APITokenを控えておく
以下のコマンドでbotkitインストール
https://github.com/howdyai/botkit
npm install --save botkit
サーバ起動時に指定するファイル(index.jsとかapp.jsとか)に以下を追記
var Botkit = require("botkit") // Slack Botの設定 var controller = Botkit.slackbot({ debug: false, // デバッグしない stats_optout: true // 統計情報を送信しない // include "log: false" to disable logging // or a "logLevel" integer from 0 to 7 to adjust logging verbosity }) controller.spawn({ token: [控えておいたAPI Token] }).startRTM() // キーワードに一致するメッセージを受け取った時 controller.hears([".*"], ["direct_message"], function (bot, message) { bot.reply(message, message.text) })
utils/chatbot.js へ外部ファイル化して
require("./utils/chatbot.js")
をapp.jsに記述するといったやり方も可能。
作成したボットへメッセージを送って確認してみる。
hears で特定の単語が来たら反応するといったこともできるが汎用性がないので全てのメッセージを取得してごにょごにょして返信するといったアプローチを取っている。
今は受け取ったメッセージをそのまま返信しているが、返信内容を設定する場合bot.replyの2番目の引数を変更すること。