Subscribed unsubscribe Subscribe Subscribe

at backyard

Color my life with the chaos of trouble.

Re:1人ではじめるSlack生活

Slack Heroku CoffeeScript Hubot Chat bot 食事

タイトルは言ってみたかっただけです。
でもまずは一人ではじめてみました。

Slackを便利ツールとして使い始めてみようと思う

かなり話題となっているSlack、
今まで仕事で使う機会はなかったこともあって触れていませんでしたが、
最近業務でHipChat使い始めたこともあって、この機会にSlackも触っておくかと思い立ちました。

あくまでプライベートで勉強用としてなので、ひとまずは1人でSlackアカウント作ってみて、
無料プランの中でHubotとかと絡めたりして遊んでみようかなと。

Slackアカウントの作り方

Slackの概要

下記を見て、まずは概要をつかむ。
とてもわかり易い記事。

d.hatena.ne.jp


アカウント作成

slack.com


一応アカウント作成時のキャプチャとともに書いていきますが、
アカウント作成はとてもかんたんでした。


トップページからメールアドレスを入力

f:id:shinshin86:20161022202807p:plain

入力したアドレスに番号が届くので、そちらを入力。

f:id:shinshin86:20161022202845p:plain

名前とユーザネームを入力します。

f:id:shinshin86:20161022202946p:plain

パスワード入力。

f:id:shinshin86:20161022203015p:plain

どんな目的でslack使うのか聞かれる。
ありのままの答えで良いと思われます。
私は"shared interest group"を選びました。

f:id:shinshin86:20161022203038p:plain

グループ名を入力します。

f:id:shinshin86:20161022203421p:plain

ここで入力したテキストがURLになる。
デフォルトでは先ほど入力しているグループ名になっています。

f:id:shinshin86:20161022203223p:plain

招待したい人がいればアドレスを入力。
私はまず1人で初めてみようと思ったので、"Skip For Now"を選択。

f:id:shinshin86:20161022203432p:plain

アカウント作成完了。かんたんですね!

f:id:shinshin86:20161022203609p:plain

Hubotと連携してみる

早速Hubotと連携してみます。


qiita.com


こちらのブログを参照しました。
そのままブログに書いてあるとおりにやっていただけなので、
私の方では特に何も書きません笑。
分かりやすい記事です。感謝。


ちなみにhubotのセットアップのところでエラーが出た場合は、
以前私が書いた記事を参照してみてください。
(実際、私は自身の書いた記事を見返して、セットアップ時のエラーを回避しました、今回)

shinshin86.hateblo.jp


一応Slack上でhubotを使うところの画面遷移の部分だけ、キャプチャ置きます。
私がただ単に方向音痴なだけなのだと思いますが、
hubotインストールのところで目的の画面にうまく行けずに、
軽く迷ったので💦

赤枠のところをクリックすると、右側に画面がポップアップされるので、
そこで更に赤枠箇所を選択。

f:id:shinshin86:20161023004811p:plain

検索画面で"hubot"と入力。

f:id:shinshin86:20161023004909p:plain

緑色のインストールボタン押す。

f:id:shinshin86:20161023004930p:plain

次のページに遷移すると、"Setup Instructions"という項目の中に、
トークンが発行されているので、これをコピーしておきましょう。

あとは先ほど貼り付けさせてもらったブログ記事のまま、突き進むのみ!
30分もかからずにSlack連携完了。ありがたや!

昼食・夕食前に、適当なメニューを呟いてくれるbot

作ってみました、mogu-bot

github.com

作った理由

昼食・夕食のときに何を食べるか迷う時があるので、
今日のご飯はこんなのどう?と背中を教えてくれるbotを作りました。

昼食・夕食前に、設定した場所にて、設定した予算額に合うお店を呟いてくれるbotです。
"お腹減った"と呟いても、お店を返信してくれます。
友達や会社の方々とご飯行く時にお店選びに迷ったら、こやつの勧めてくれるお店を頼りにしようと思った次第。

一応コマンドが幾つか用意してあるので、ソース上部のコメント見てみてください。
(それらのコマンドは別に使わなくても良いです笑)
後日コマンドとかはREADMEにも追記しておきます。

--------------------追記 - 2016/10/25------------------------
GIthub上のREADMEに、用意されているCommandの説明を追記しました。
--------------------追記 終わり------------------------

ちなみに、こんな感じで返してくれます↓

f:id:shinshin86:20161023112535p:plain


herokuにデプロイして使います。
場所や予算などはherokuの環境変数に設定して、使用する感じ。

heroku config:set \
HUBOT_HOTPEPPER_API_KEY=HOTPEPPER API key \
HUBOT_MOGUMOGU_CHANNEL=Slackのチャンネル名 \
HUBOT_MOGUMOGU_LOCATION=勧めてほしいお店の場所(自宅や会社付近の場所を入れればOK) \
HUBOT_MOGUMOGU_NOW_BUDGET="お腹減った”と呟いたときに勧めてくれるお店の予算 \
HUBOT_MOGUMOGU_LUNCH_BUDGET=ランチの予算 \
HUBOT_MOGUMOGU_DINNER_BUDGET=ディナーの予算

なお予算の設定はHOTPEPPER APIのコードを入力してください。
詳しくは下記の通り。

コード : 予算
B001 : ~2000円
B002 : 2001~3000円
B003 : 3001~4000円
B008 : 4001~5000円
B004 : 5001~7000円
B005 : 7001~10000円
B006 : 10001円~

参考記事

下記のURLを参考にさせていただきました。感謝。

qiita.com


qiita.com


hotpepper API、色々と検索できて便利です。
ホットペッパー | APIリファレンス | リクルートWEBサービス


coffee scriptでちょっとハマったこと。

インデントがズレているのに気付かず、下記のエラーに30分ぐらい時間を使ってしまいました。。
以後、気をつけよう。
"msg is not defined"ってどういうこと?ってググっても、同様の事象を扱った記事が少なかったので、
なぜ.....??(;;^ω^)と思いつつ、いやはや、単なるインデントエラーっていうね。。

ReferenceError: msg is not defined

Heroku Buttonを使って、mogu-botを簡単に使えるようにした。

ここまで書いていて思ったのですが、
どうせならHeroku Buttonを使って簡単にDeploy出来るようにしました。

手順としては、下記の通り。
※Herokuアカウントは作成されている前提です。
(あ、作成されていなかったらHeroku Button押したときに
新規作成画面に遷移してくれるんだっけ?)

1.まずSlackでHubotセットアップして、tokenを発行する
2.GitHub - shinshin86/mogu-bot: A simple helpful robot for your lunch or dinner.のREADME上にある"Deploy to Heroku"を押す。
3.環境変数設定画面に移行すると思うので、必要事項を記入していく(tokenとか名前とか、上に書いた環境変数の諸々とか)
4.Slackで指定したチャンネルに作ったbotを招待する。
5."お腹減った"とメッセージを送る

ぜひ使ってみてください。

初めてHeroku Button使ってみましたが、便利ですね!