トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

slackにbotを追加したかった【hubot失敗編】

前回外部連携サービスを学び、最後に自作botを作ろうとしましたが・・・挫折しました。

bibinbaleo.hatenablog.com

 今回はめげずに頑張りたいです・・・

と思って記事を書きながら作業を進めていましたが、私の力不足のせいでできませんでした。githubもターミナルもほぼほぼ触ったことがない私にとっては早すぎました。しかもクレジットカード登録する必要があるし、タダでやるならbotは一つぐらいしか作れないみたいです。もうデフォルトのslackbotで我慢したほうがいいかもしれない。

でもせっかく途中まで書いたので、一応公開しますが、実際に初めてやる方は以下の記事を見ながら頑張ってください。

qiita.com

私の記事もつまずいた時に少しは役に立つかも

 

ここから本文↓

 

hubotをslackに追加

この記事の最初の方をみて、とりあえずhubotの外部連携サービスを追加する。

qiita.com

前回同様Apps~から検索で

f:id:bibinbaleo:20170414185026p:plain

hubotを選択。インストー

f:id:bibinbaleo:20170414194000p:plain

よくわからないけど名前を聞かれているので、サーバルと書いた。英語じゃないと怒られた。

f:id:bibinbaleo:20170414193959p:plain

add hubot integrationを押すと、さらに設定ができるみたい。

f:id:bibinbaleo:20170414193956p:plain

アイコンを設定して、説明を加えたらsaveを押す。

グループに戻ると・・・いた〜!

f:id:bibinbaleo:20170414193955p:plain

この子をチャンネルに「/invite @~」で加える

f:id:bibinbaleo:20170414193953p:plain

ジョインしました。

f:id:bibinbaleo:20170414193954p:plain

後で知ったけど、firstname・lastnameは日本語でもいけるらしいので、サーバルちゃんを押して出てくるview settingから

f:id:bibinbaleo:20170414202158p:plain

変えます。最初にこっちは日本語にしておけばよかった。

f:id:bibinbaleo:20170414201831p:plain

qiita.com

そして、上の記事にあるようにチームのpreference>message&mediaからdisplay real name~にチェックを入れます。注意なのは、これはチームのみんなに適用されるということ。私にも適用されてしまい、私の本名も見えちゃったので、自分の本名をニックネームに変えました。

ちなみに自分の名前はチームごとに独立しています。私は大学のゼミのslackにも所属しているけど、そっちはアカウント名もfirst,last nameも全部本名にして、unityやこのチームのslackはどっちもbibinbaにしています。

node.js 

ここまで書いてやっと、初心者向けの記事を見つけたので、これからはこの記事に沿って頑張ります。

qiita.com

ここからはターミナルを使います。macに元々入ってるアプリです。起動しましょう。

homebrew

まずhomebrewをインストールします。

Homebrew — macOS 用パッケージマネージャー

このサイトのトップにあるスクリプトをターミナルにコピペ。なんかズラーと出た後に

Press RETURN to continue or any other key to abort

と出るのでエンターを押します。するとpasswordを聞かれるのでmacのパスワードを入れます(管理者権限のやつ)

するとインストールが始まります。結構時間かかりました。

f:id:bibinbaleo:20170414223513p:plain

node

完了したら次はnode.jsを入れます。

brew install node

を打つとインストールが始まります。

ここで私はxcodeが古いから新しいのにしろと言われました。xcode持ってない人も古い人も、appstoreから入れましょう。

f:id:bibinbaleo:20170414223805p:plain

xcodeのアップデートが完了したら、もう一度brew install nodeとうちます。

それも完了したら次は

npm install -g yo generator-hubot

を打ちます。

こんな感じでエラーが出てしまいました。

f:id:bibinbaleo:20170415144442p:plain

ディレクトリ・プロジェクト作成

ここら辺から自分がどこで何をしているのかわからなくなって来ましたが、参考記事通り、hubot用のディレクトリを作ります。先に作ってしまったhubotと同じ名前にしておきました。

mkdir sabaru

cd sabaru

 mkdirでsabaruというディレクトリを作って、cdでその中に移動しています。

次に

yo hubot

 でプロジェクト作成?してるらしいです。

私は

yo: command not found

と出て来て詰みました。yoをインストールした時に出たエラーが原因ということはわかるけど、どうしたらいいかわからない。(英語読みたくない)のでここは飛ばします。飛ばしたらダメだけど、一通りの流れを知りたいから、できるとこだけやります。

github

だんだん書くのがめんどくさくなって来ました。githubにアカウントを作って、レポジトリを作って、ターミナルで何かをプッシュします。

f:id:bibinbaleo:20170415161717p:plain

私はもともとgithubのアカウントを持ってたし、web上でならリポジトリを作ったことがあったので、なんとなくでやりました。

f:id:bibinbaleo:20170415161730p:plain

プライベートはお金を払わないとできないみたいなので、みんなに見られるパブリックです。私のクソコードも見られてしまうのか。

と思ってましたが学生なら無料でできます。

bibinbaleo.hatenablog.com

f:id:bibinbaleo:20170415162225p:plain

リポジトリを作った後に出てくる上の画面でsshを選んでコピペ、ターミナルで何かしたら何かされます。わからん

git init
git add .
git commit -m "first commit"
git remote add origin git@github.com~(コピペ)
git push -u origin master

特に何もおきませんでした。さっきの失敗のせいかもしれません。中身がないままなのか?どうなったら成功なんだ。

heroku

よくわからないけどherokuというサービスも必要らしいので、アカウントを作ります。

Heroku | Sign up

作ったらherokuのアプリをダウンロードします

Heroku CLI | Heroku Dev Center

 下の方にあるmac用のinstallerでインストールしました。ただインストールしたからといって、目に見える何かが現れるわけではありません。

ターミナルでログインできるようになります。

$ heroku login

Enter your Heroku credentials.

Email: [登録したメールアドレス]

Password : [パスワード]

login in as~.

 ログインできたら、herokuに何かを作ります。

heroku create (sabaru)

sabaruのところはオリジナルの名前で。他の人と被ってたら、「その名前はもう取られてますよ」と言われます。

f:id:bibinbaleo:20170415173330p:plain

うまくいったら青と緑でurlが表示されました。

次にpushだそうです。

git push heroku master

 ここでもエラーが出ました。もしかしてmasterって固有名詞なのか?

error: src refspec master does not match any.

error: failed to push some refs to 'https:/~git'

どうしようもないので進みます。

githubとherokuを連携

herokuのdashbordからさっき作ったsabaruを選んでdeploy。githubボタンを押して、

f:id:bibinbaleo:20170415184524p:plain

下の方にあるボタンを押して、githubのsabaruを選んで、connect.

次に出てくるenable~も押します。

多分できたのではないのでしょうか。

私はここで力尽きた

そもそも最初の時点でつまずいたまま、先に進んでしまったため色々辛くなって来ました。この辺りでheruku側でクレジットカードを登録しないといけないらしく、うまくできてもいないものにそんな情報渡したくないのでここで諦めました。

そもそもここまでは環境を整えているだけで、実際にbotを動かすにはまたプログラミングを書かないといけません。かけないのでやめます。

もしここまで読んだ方がいたらお疲れ様でした。読みにくい文章ですみません。