TwitterをやめてTwitterをしよう


# 追記

悲しいお知らせですが、IntegromatにおいてTwitterの機能を使えるのはPremiumユーザだけになりました。
そのため、SlackからTwitterに投稿するなど、Twitterを使うためには課金をする必要があります。

Google App Scriptなどをつかうとほぼ無料でできると思います。（今度これを記事にします。）

# はじめに

みなさんはTwitterをしています（決め付け）。
Twitterを見ないと体が震え始め、Twitterを閉じるとTwitterを開く体になっています。現代です。

Twitterを見てしまう原因として「Tweetをして精神を保ちたい」というのがあると思います。
僕はTweetをすることで、意思を保っています（極論）。

しかし、自明ですがTweetをするにはTwitterを開く必要があります。
ただ、これでは**猫や犬の動画が目に入って集中できません**。これは駄目です、だめですよだめです。

そこで、TwitterをやめてTwitterをしましょう。
Twitterを使わずにSlackからツイートをすることで平穏を保つのです。

後半は一人Slackについて書いています。

# Integromat

<img width="968" alt="スクリーンショット 2020-07-03 19.36.13.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/30188418-37dc-a85b-135d-84ff7d81131c.png">

[Integromat](https://www.integromat.com/en/)という自動化プラットフォームがあります。

類似サービスにIFTTTがあります。これはとても有名で、様々なサービスをWebhookを用いて連結できるものです。
例えば、天気サービスとLINEをつなげて、毎朝LINEに天気を届けたりできます。

Integromatは、IFTTTをさらに柔軟にしたもので自由にWebhookを設定できたり間にJavaScriptを混ぜたり、グラフツールを用いて複数の出力ができたりなど、さらに応用が効きます。

そこで、Integromatを用いてSlackからTweetをしてみましょう＞＜

# TweetのためのIntegromat設定

アカウントを作ると以下のような画面になります。


<img width="1014" alt="スクリーンショット 2020-07-03 19.40.42.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/30a00c99-4520-05e7-a6e2-a077554c7fe4.png">

そこで、右上のCreate a new Scenarioをクリックします。

<img width="985" alt="スクリーンショット 2020-07-03 19.41.17.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/27176584-e9bd-2986-31dd-75ea49fe6ff4.png">


クリックするとこのような画面になるため、Slackと打ち込み出てきたSlackアイコンをクリックして、Continueします。

<img width="978" alt="スクリーンショット 2020-07-03 19.42.02.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/f4cae6ed-30cb-14b5-c35e-179149f66f1e.png">


<img width="744" alt="スクリーンショット 2020-07-03 19.42.20.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/43d320df-ce92-8a22-6825-74dd8de09ca3.png">

このような画面になるので、クリックするとSlackモジュールが出ます。
これをクリックしてあげましょう＞＜


<img width="999" alt="スクリーンショット 2020-07-03 19.42.47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/67655f41-038c-652a-a360-08fc545262de.png">


<img width="458" alt="スクリーンショット 2020-07-03 19.43.00.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/751fa251-7dba-74b2-b9c0-d37512ce34aa.png">

New Messageを選択してあげます。

<img width="819" alt="スクリーンショット 2020-07-03 19.43.31.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/822b69af-5178-9ca2-2757-d26d5983e4d6.png">

すると上記のような画面になるため、AddをクリックしてWebhookの設定をします。

<img width="813" alt="スクリーンショット 2020-07-03 19.44.34.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/b42ef59f-290b-a421-57be-89365110cb25.png">


上記のように適当にWebhook名をきめて、Event typeを「New channel message」にして、ConnectionのAddを押しましょう。

「Create a connection」でContinueを押すと

<img width="985" alt="スクリーンショット 2020-07-03 19.45.52.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/5aa6c0cb-6002-aaab-bc9a-88a199d0ce31.png">


上記のようにSlackのワークスペースへの接続を許可するか？と出るため、許可してあげましょう。

あとはツイートをするときのChannelを設定してあげてください。

<img width="864" alt="スクリーンショット 2020-07-03 19.47.04.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/5fc0aa49-6ce2-ca30-278c-548dbb0cb236.png">

そして、OKを押してあげればSlack側の設定は完了です。
これで、Slackは「tweetチャンネル」（画像の例では）にメッセージを投稿すると、そのイベントを検知します。
次に、このメッセージを他のモジュール、今回はTwitterに接続します。

<img width="833" alt="スクリーンショット 2020-07-03 19.48.19.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/dc539beb-b2f7-9c74-2ece-969f7f598bfe.png">

この画面でSlackのアイコンの右端の半円を押して、新しくモジュールを追加します。

<img width="761" alt="スクリーンショット 2020-07-03 19.48.50.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/0f57c06b-f92c-6aaa-d79e-820ce52a2a0d.png">

Add another moduleでTwitterを検索し、Create a Tweetを選択します。

<img width="599" alt="スクリーンショット 2020-07-03 19.49.27.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/5d49276b-c940-91a0-523c-cdf1d75fdbf7.png">

あとはStatusをクリックして、Textをクリックしてください。

<img width="835" alt="スクリーンショット 2020-07-03 19.49.57.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/4812b9bb-beb6-902a-1fe1-c2e0ab109c49.png">


ここで、基本的にはSlackとTwitterの接続は完了です！

下側の**Controlsから必ずSaveをしてください！！！！**。
このSaveをしないと今回作ったシナリオが消えます！！

<img width="1018" alt="スクリーンショット 2020-07-03 19.51.20.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/b2196830-5816-fa2d-da07-f374b7f63333.png">

そして、最後にこのOFFのところをクリックしてON（シナリオを起動）してあげましょう。

<img width="780" alt="スクリーンショット 2020-07-03 19.52.21.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/12371fda-3bb6-b8ab-74e3-ac75935ce2a3.png">

自分の設定したチャンネルでメッセージを打ってみると

<img width="602" alt="スクリーンショット 2020-07-03 19.52.49.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/1ba72a6f-bc54-6129-9b28-ab4d2f2d353f.png">

ツイートできることがわかります！

これで、完全にSlackからTwitterができるようになりました！
研究室や仕事場でもまるでSlackを触っているかのようにTwitterができますね＞＜


これの利点としては、「フォロワーの情報が入ってこず、一方的に情報を投げつけることができる」ことにあります。

Slack自体のTwitterアプリではこのようなツイート機能はついていないので、Integromatのような外部サービスをかましましょう＞＜

# 拡張例

先程までで、Twitterをできるようにしましたが、Integromatは非常に表現力豊かです。
いろいろな工夫次第で様々なアレンジができます。

例えば、僕は先程のTwitterモジュールのあとに

<img width="622" alt="スクリーンショット 2020-07-03 19.55.56.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/b5a3789e-2ec8-e6d9-20e2-dd50f8ec82c8.png">

Flow ControlのIgnoreモジュールを追加しています。

Twiteerは140字までなのでSlackからツイートしたものがその長さを超えると、Integromat側で**エラーを吐いてしまい動作を完全に停止します。**
この場合Integromat側でエラーが出た過去のアイテムを削除または解決することで再びシナリオを起動できます。

これは面倒なので、Ignoreを付けて、エラーが出ても強制的に無視するようにしています（いわゆるtry-catchのもみ消しです、やめようね！）


<img width="627" alt="スクリーンショット 2020-07-03 19.58.10.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/bd54e7af-6faa-51fd-172d-4c99db213394.png">

あと僕は (from slack)という文字列を付けてテキストを流しています。
Slackからの投稿というのが分かるようにしています。


# 一人Slackをしよう

僕は、他の人の一人Slackの記事を読んで、自分用のSlackを使っています。
僕しかいないSlackなので好き放題です。
ある意味自分しかいないSNSのようにしており、時たまtweetチャンネルで世間様に垂れ流しています。

<img width="967" alt="スクリーンショット 2020-07-03 20.01.12.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211482/202da9ff-9912-5a78-01b8-45686d478041.png">

- hour 作業が終わったら適当にその内容を書く　一区切り用
- research 研究の結果とかアイディアを雑多に書く
- tmp なんか作業中に気になったことがあったら書く　調べると気が散るため　作業が終わったらtmpから存分に調べたりする
- tweet 　ツイート＞＜　
- weather　天気をやる forcastで毎回`/forcast`というコマンドでやっていたり、IFTTTで天気を持ってきている（なんか精度悪いのでforcast使っている）
- Google Calender　通知してくれる


上記のように現在はチャンネルを割り当てています。

Slackを個人で使うと考えやファイルなどを適当におけるので便利です。

現状コロナでずっと家にいるので、一人でやっていると話す相手がいないので、独り言をSlackに吐いています。悲しい。


他にもGitHubのCI/CDを追加したり、Trelloアプリを追加したりするとさらに一人Slackが充実しそうです！

# 参考文献

- [ひとりSlackのすすめ！個人ツールとしてもSlackは有益！](https://businesschatmaster.com/slack/individual-tool)
- [ひとりSlackの使い方](https://blog.rie-k.com/2019/05/28/%E3%81%B2%E3%81%A8%E3%82%8Aslack%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9/)