はじめに
まず最初に,この記事は超超超入門向けです.ご了承ください.
最近何かと話題なbot.
「自分も何か作ってみたい!」と思っても,調べてもよくわからないし何から手をつければいいのかわからない人も多いのでは??
自分もそうでした.しかもなんかbotとかつくるのはサーバとか借りたりAWSでどうのこうのとかやって絶対お金がかかる物だと思ってました.
しかし,無料でとりあえず作って遊んでみたい程度であれば簡単に作れることがわかったので,どこから手をつければいいのかわからない人や,とりあえず手っ取り早く動くもの作りたい人に向けてまとめたいと思います.
準備
まずは,先にnodejsってやつを準備しておく必要があります.
Node.js公式サイトでインストールできるので自分のOSに合ったやつを選んでください.
次にSlack上での準備です.SlackのBotの管理ページに飛びます.
そして緑色のAdd Configuration
をクリック.
botのユーザ名を入力してください.今回僕はramちゃんbotを作ります.
そしたら,次の画面で出てくるIntegration Settings API Token
と書いてある欄のxoxb-XXXXXXXXXX
って感じであるAPI Tokenをコピーしておいてください.
ここでCustomize Icon
とかでbotのアイコンを変えることができます.
こんな感じでね.
色々Slack側での設定が終わったら一番最後のSave Integration
をクリックして保存しておいてください.
実装
それでは実際にやっていきましょう.
まずは
mkdir bot
cd bot
みたいな感じで適当にディレクトリを作ってそこに移動しておきましょう.
そしてそこで次のコマンドを打ち込みます・
npm init
これでとりあえずenter連打しておきましょう.
するとpackage.json
というファイルができあがります.
そして次.どんどんいきます.
npm install --save botkit
今回は,botkitというフレームワークを使うのでそれをインストールしておきます.
そしたら次は実際にコードを書いていきます.
難しそうですよね.
でも簡単.
次から書くコードをコピーするだけです.
まずはターミナルでindex.jsを開きましょう.
vi index.js
そしたら次のコードを写します.
var Botkit = require('botkit');
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');
}
});
//言われたことに対する返答
controller.hears(["こんにちは"],["direct_message","direct_mention","mention"],function(bot,message) {
bot.reply(message, 'hello');
});
一応このコードで書いたbotの動作の説明をすると,Slack上でこんにちは
とメンションをつけるか,botに直接DMで話しかけるとhello
と返してくれるような動作をします.
するとここまでしているうちに勝手にramちゃんがSlackにオフライン状態で居座っています.
起動
それでは実際にramちゃんを動かしましょうか.
動かす方法もめちゃめちゃ簡単です.
ターミナルで
token=xoxb-XXXXXXXXXXXXXX node index.js
と打ち込むだけで・・・・・
てってれーん
ramちゃんログインしました.
話しかけてみましょう.
こんな感じでメンション付けてこんにちは
というとちゃんとhello
と返してくれました.
さいごに
今回はbotkitとnode.jsで必要最小限のbotをとりあえず作ってみました.今はただ挨拶を返すくらいですが,ここからはあなたのアイデアと工夫次第でどんどん便利なbotが作れると思います.
僕は今日の天気は?
などというと今日の天気予報が載っているwebページを返してくれるようなものも作りましたが,なかなか便利です.自分から検索バーに検索して知るよりも,ramちゃんに聞いて教えてもらった方がなんだかハッピーですよね.
皆さんも色々試してみてください.
最後まで読んでくださってありがとうございました.