Slackにbotをいれてみた

インフルエンザになってしまったので、前々から手を出そうと思っていたSlackのbotを入れました。

やりたいこと

  1. スケジュール管理や進捗管理をするbotを入れたい
  2. ゆっくりボイスとRaspberry Piを組み合わせて特定の文章(HPの文章やGoogleDriveに保存した文章)を読ませたい

......長い道のりになりそうだ。
まずはSlackにbotを入れることから始めましょう。

そもそもslackbotとbotを間違えていた

slackbot入れたいと、友人に零していたのですが
入れ方を調べてて、まさかの

「slackbotとbot違うやん(^q^)」

でした。

slackbotは元々Slackにいる子で、
https://slack.com/customize/slackbot で特定のフレーズに対して返事を返すように出来ます。
私はHello,world!と打ったらHello,world!!と返してくれるようにしました。

気を取り直してbotをSlackに入れます

Slackにbotを入れるには以下のリンク先から設定をします。

slack.com

リンク先の「Something just for my team」の方をクリックして設定をもろもろ行い、シェルスクリプトを実行します。

#!/bin/sh

curl -X POST https://slack.com/api/chat.postMessage \
-d "token=$BOT_TOKEN" \
-d "channel=#random" \
-d "text=$1" \

$BOT_TOKENのところにはbotの設定ページで登録したページに表示されているtokenをいれてください。今回botが投稿するチャンネルは#randomチャンネルにしました。

シェルスクリプトをテキストのオプションを付けて実行するとbotシェルスクリプトがランダムチャンネルに現れます。

f:id:mamecafe:20170119004039p:plain

アイコンが画像の上部のようなロボットだった場合は、

-d "as_user=true"

を実行すれば画像の下部のように設定したアイコンと名前で投稿してくれますが、多分、

{"ok":false,"error":"not_in_channel"}

と出ると思います。このエラーは「投稿者がチャンネルにいませんよー」ということなので、ロボットアイコンの投稿を右クリックして、作成したbotを投稿したいチャンネルに招待しましょう。

botがどのチャンネルにいるかはbotの設定で確認できます。

f:id:mamecafe:20170119004745p:plain

エースさんがランダムチャンネルに現れるようになりました。

説明しよう!
エースとはQuinRoseが産んだハートの国のアリスシリーズの腹黒迷子騎士である!
QuinRoseが2015年10月1日に倒産してしまったため、シリーズは未完であるが
彼の迷子体質によってSlackのランダムチャンネルに現れるようである!!

 .......ごめんなさい(´・ω・`)

 次はjQueryあたりをいじってjavascriptで制御するようなことやりたいですね。