準備
まずはNode.jsとnpmを準備する。導入の仕方は調べればたくさん出てくるので割愛。
開発する上で、'botkit'と'cron'を使うので入れておいてください。
npm install --save botkit
npm install --save cron
コード
あまり難しいことはしていません。
乱数を生成して、出た数によって発言する内容を決定しています。
const Botkit = require('botkit');
var CronJob =require('cron').CronJob;
var controller = Botkit.slackbot();
var bot = controller.spawn({
token: process.env.token
}).startRTM(function(err, bot, payload) {
// 初期処理
if (err) {
throw new Error('Could not connect to Slack');
}
new CronJob({
cronTime: '* * * * 0-6',
onTick: function() {
bot.say({
channel: 'bot_test',
text: randomText()
});
},
start: true,
timeZone: 'Asia/Tokyo'
});
});
// 発言内容を決定し、そのまま返す
function randomText() {
var max = 4;
var min = 0;
var message = "";
// 0 ~ 4 の乱数を生成
var result = Math.floor(Math.random() * (max + 1 - min)) + min;
switch(result) {
case 0:
message = "ほげ";
break;
case 1:
message = "hoge";
break;
case 2:
message = "hogeeeeeeee";
break;
case 3:
message = "fuuuuuuuuuuuuuuuuuuga";
break;
case 4:
message = "ふが";
break;
}
return message;
}
動き
毎分、randomText
で設定した内容の内、いずれかを発言します。
発言される内容は毎分異なります。
自分の手でさらに改良を加えて見て下さい。