enebular x Twitter で 鼓舞激励(こぶげきれい) の文化をつくる

12月1日（火）の【オンライン】enebular developer meetupでのLT内容を記事にしてまとめます！
 ![スクリーンショット 2020-12-01 19.11.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216701/c4296591-9ee2-1753-3328-9e04a5883762.png)
イベント詳細：https://enebular.connpass.com/event/193989/

# はじめに

### 自己紹介

仲条高幸（なかじょうたかゆき）こと湯婆婆に名を取られた条（ジョー）です！[enebularで湯婆婆を実装してみる](https://qiita.com/h-takauma/items/7a4aabe8af04ecc2c5e8)
Twitterもやっています！[@njn0te](https://twitter.com/njn0te)

[TSfCM](https://tsfcm.jp/)という社会問題をテクノロジーで解決するスクールを運営していたり、[株式会社Panta Rhei](http://pantarhei.co.jp/)を2020年10月末に創業したり、フリーランス的に地方創生などに携わったりしています。（2021年1月に、ランサーズから「認定ランサー」を取得しました。）
![enebular x Twitter で 鼓舞激励(こぶげきれい) の文化をつくる.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216701/14bdf6cc-2094-8073-72f4-f394079a4d7b.png)

### Enebular歴

- 2年前に、[デジタルハリウッド大学大学院](https://gs.dhw.ac.jp/)という社会人スクールの授業で3ヶ月
- この度LT会に出ること＆アドベントカレンダーに挑戦することになったので1ヶ月

合計Enebular学習時間はまだまだ少なく、初心者中の初心者なのですが、初心者なりに失敗したところや伝えられるところもあると思うので、そういうのも含めて暖かく読んでいただけたら嬉しいです！

### タイトル

**「enebular x Twitter で 鼓舞激励の文化をつくる」**です（ジャカジャン！）

### タイトルへの想い

2020年は、劇的に変わった年でした。世の中暗いニュースばかりで、その中でも最近特に衝撃だったのは、日本人の**10月の自殺者数はなんと2,153人**でした。日本人の**今までのコロナによる死者数は2,074人**（2020年12月1日現在）なので、たった一月で今までのコロナによる死者数を超えてしまってます。
![スクリーンショット 2020-12-01 4.09.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216701/977f60c3-298f-012a-cbb1-95fad9399323.png)
特にTwitterによる誹謗中傷が見ていて辛かったし、自分自身も誹謗中傷された時にめちゃめちゃ悲しかった時があったので、この流れというか文化を変えられたら良いな、もっと優しい世界になれば良いなと思い、タイトルを**「enebular x Twitter で 鼓舞激励の文化をつくる」**にしました。
![　.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216701/299dfa9c-6ee3-446a-ed5a-34bc3358fbb9.png)

参考資料：https://edition.cnn.com/2020/11/28/asia/japan-suicide-women-covid-dst-intl-hnk/index.html

## まずは、とりあえずブラウザで「エネブラー」と検索！

https://www.enebular.com/ja/
公式ページからサインインをして、右上の```+ Create Project```からプロジェクトを作り、右下の```＋```からFlowを作り、なんじゃかんじゃで下の画面が出てきたら、いよいよスタート！
![スクリーンショット 2020-12-01 18.51.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216701/b199b9dd-be0b-e1ca-2766-9f35626218f6.png)

### Twitterのノードを追加

右上のハンバーガーマークから「設定」を選択して、「ノードを追加」のタブに検索できそうなところがあったので、一旦一番上に出てきたノードを追加。
![enebular x Twitter で 鼓舞激励の文化をつくる (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216701/e57c5164-3e6f-1eb4-7535-6ef96dbd3335.png)
使ったノード（node-red-node-twitter）の詳細：https://flows.nodered.org/node/node-red-node-twitter
「ノードを追加」を押して「追加しました」に変わると、最初の画面の左側に、新しく「Twitter in」と「Twitter out」が追加されています！　それっぽいこの2つを、今回は使っていきます。
![enebular x Twitter で 鼓舞激励の文化をつくる (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216701/016d21a9-a37a-c544-ec35-dfebbbe04cfd.png)
色々とIDやらAPI認証やらを追加しないと動かなそうなので、上の写真の右側に書かれてる1~3の順番にやっていきますぜ！（ジャカジャン）

#### 1.次のURLから自身のアプリケーションを作成 https://developer.twitter.com/en/apps

APIを使うために、英語で色々と質問に答えなくてはいけなくて、めんどくさかったので、私は「twitter ディベロッパー 質問 回答」みたいな感じで検索して、コピペしました（ここだけの内緒で！）
例文の書いてある記事の例：https://digitalnavi.net/internet/3072/

#### 2.'Keys and tokens'セクションからConsumer APIキーをコピー

ドキュメントに、それっぽいことが書いてあるページがあったので、それ通りにやってみますぜい！
![スクリーンショット 2020-11-01 2.16.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216701/f1179838-298f-af91-1e64-055c8a2971ea.png)
![enebular x Twitter で 鼓舞激励(こぶげきれい) する (5).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216701/71425ad4-c7b5-c1ce-ac4f-5652189ac9de.png)

#### 3. 新たに'Access token & access token secret'を作成し、コピー

最後に、新しく作ったProjectsの中の```Keys and tokens```の中にある```Access Token & Secret```を「Generate」して、その発行された文字列をEnebularに貼り付ける感じです。
![enebular x Twitter で 鼓舞激励(こぶげきれい) する (4).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216701/04546c74-626d-7acd-f471-8dd56cd08c82.png)

## 鼓舞激励している投稿よ、集まれ！

ここまで結構ややこしいけど、成功したときに緑色にピコンってなって、自動でツイートしてくれたり特定のツイートを取得してくれたりするんで、「っしゃ！」って感じを味わえます。
![スクリーンショット 2020-11-01 17.32.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216701/5dcd5a88-9391-bebc-897b-147a02fa37c1.png)
ギバーズコミュニティという、友人の会社が運営しているコミュニティがあり、そこで使われているハッシュタグ「#ギバコミ」の付いたツイートを取得して、社内チャットツール（Talknote）に飛ばすようにしました。

※上の画像の真ん中辺りにあるオレンジ色のFunctionノードには、メールを送るためにメッセージを加工したかったので、下記の3行だけコードを書いてます。(本当は全部ノンプログラミングでやりたかったのですが、ここだけ許して！)

```javascript
msg.topic = `${msg.tweet.user.name}さんからTwitterで投稿がありました。`
msg.payload = `「${msg.payload}」\nhttps://twitter.com/${msg.tweet.user.screen_name}/status/${msg.tweet.id_str}`
return msg;
```

実際にTwitterにハッシュタグ「#ギバコミ」をつけて投稿すると、下の画像のようにTalknoteに通知がいくように実装が完成しました。引用リツイートでもちゃんと通知がいってるのも良い感じです！
![enebular x Twitter で 鼓舞激励(こぶげきれい) する (7).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216701/423f4f72-cedb-809b-d467-e3d65a76dd7e.png)

## しかし！　1時間という制限があったので、デスクトップアプリの「エネブラー」を使用（問題点①）

ブラウザでEnebularを使っていると気づくのですが、1時間でセッションが切れてしまい、Twitterの投稿が切れてしまいます。
※右上のデプロイの隣にあるℹ️のボタンを押すと、残り何分でセッションが切れるか書かれています。

なので、デスクトップアプリを使うことにしました。
![スクリーンショット 2020-11-03 14.45.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216701/c81da1b3-2318-538c-c09a-b10c84ce4219.png)
すると、先ほど入れたTwitterノードがunknownになっていました。。。
▼[ドキュメント](https://flows.nodered.org/node/node-red-node-twitter)を確認すると
### Install
Run the following command in your Node-RED user directory - typically ~/.node-red

    npm install node-red-node-twitter

となっていたので、ターミナル（windowsだとコマンドプロンプト）でインストールすると、無事に表示されました！
ちゃんと緑色の「ピコン」も出ていて、ちゃんと通知も届いたので良い感じ♪
![スクリーンショット 2020-11-03 16.25.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216701/38e08210-f05f-befc-3967-c0e02b608dc9.png)

## と思いきや！　アプリを起動していないとツイートされないのでHerokuで「エネブラー」をデプロイ！（問題点②）

デスクトップのアプリなので、パソコンを開いていて、かつアプリを起動していないと、自動でツイートを取得してくれません（泣）
調べてみると「Herokuを使うと解決できる！」という記事があったので、Enebularのアプリにも「デプロイ」というボタンがあり、コネクション作成からHerokuを選択できたので、[Herokuのページ](https://dashboard.heroku.com/apps)で```Create New App```のボタンからアプリを作り、挑戦！
![enebular x Twitter で 鼓舞激励(こぶげきれい) する (8).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216701/ee1926b5-b92f-3704-ddb3-31b96e52dd63.png)
「デプロイが完了しました」と表示され、（余裕♪）と思っていたのですが、動かない。なぜ？？

## Enebularの公式ページを読むと、ブラウザでやってる。

Herokuデプロイ解説記事：https://docs.enebular.com/ja/deploy/deployflow/heroku/
とても丁寧に解説されていました。順番にやっていくと、下のような画面に！
![enebular x Twitter で 鼓舞激励(こぶげきれい) する (9).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216701/68a3d588-50f4-4754-bf64-35586089b217.png)
先ほどのアプリ用とは別で[Herokuのページ](https://dashboard.heroku.com/apps)で```Create New App```のボタンからアプリを作り、再挑戦！
![スクリーンショット 2020-12-01 16.35.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216701/a325cdd8-ff1d-c017-d688-223ebdaac1a2.png)

## 無事に動きました！！（めでたしめでたし）

![enebular x Twitter で 鼓舞激励(こぶげきれい) する (11).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216701/010ab3d4-643e-7b95-0f1f-be361e98827e.png)

## まとめ

- HerokuとEnebularの掛け合わせが一番良さそう。

- 最初大変だったけど、一度作ったから、楽しい（ノンプログラミングって素敵！）

- Twitterでどんどん鼓舞激励の文化広めてくぞ！