node.jsでbotkitを使用してslackbot開発

Bot開発が始められるところまで紹介




事前にnode.jsのインストールとslackのアカウント作成をおこなうこと


https://my.slack.com/services/new/bot
へアクセスしてBotを作成。

APITokenを控えておく

slackbot作成


以下のコマンドで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に記述するといったやり方も可能。

作成したボットへメッセージを送って確認してみる。
slackbot


hears で特定の単語が来たら反応するといったこともできるが汎用性がないので全てのメッセージを取得してごにょごにょして返信するといったアプローチを取っている。
今は受け取ったメッセージをそのまま返信しているが、返信内容を設定する場合bot.replyの2番目の引数を変更すること。



2017年3月25日土曜日