【Splatoon2】欲しいギアがゲソタウンに入荷したとき100%見逃さないシステムを作ろうぜ【無料、初心者向け】

2020-02-23：下記botとは別に「[ゲソタウン入荷通知bot](https://twitter.com/spl2_geso_tweet)」が運用されていることを知りました。記事内容の更新はありません。
2019-12-03：**ゲソタウン入荷お知らせbot ([@gesotown_shop](https://twitter.com/gesotown_shop))が[運用終了する](https://twitter.com/gesotown_shop/status/1201667683806150656)ことを受け、英語版botを利用した方法を追記しました。**

![Screenshot_20190724-160237.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/336249/11dc8a35-07db-78d3-7aa7-faed95114203.png)

**ゲソタウンにあのギア入荷してたの知らなかった～～～～～～～:sob: :sob: :sob: :sob: :sob:**
ってなったことありませんか？私はあります。
今回はそのミスをプログラミング（？）で無くしていく方法を紹介します。

# 概要
IFTTT（イフト）のトリガーを利用して、ゲソタウンへの入荷をツイートしてくれるbotの呟きをTwitter検索で拾ってLINEに流します。
全部通知してたら意味ないので、Twitterの検索コマンドを併用します。

## できること
- 欲しいギアが入荷したときだけスマホに通知が行くようにする
- 欲しいギアの種類などを自分に合わせてカスタマイズする

## できないこと
- 入荷に対して自動的に注文を入れること
- これ、欲しいギアに似てますけど注文します？どうします？という曖昧なギアへ反応すること

## 利用するもの（つまり依存するもの）

- Twitter
- ゲソタウン入荷お知らせbot ([@gesotown_shop](https://twitter.com/gesotown_shop))
    - 上記botは2019年12月で運用終了するため、下記では[英語版bot（@SplatNetStore）](https://twitter.com/SplatNetStore)も併用します。
- IFTTT
- LINE

逆に言うと、これらのシステムのうちどれかがダウンしたら本記事で作るシステムは動きません。

# やりかた
## LINEの設定
LINE使ったことないよって人は登録してください。

1. `トーク`タブを開きます
2. 右上の`吹き出しにプラスマークのアイコン`を選択します
3. `グループを作成`を選択します
4. 誰も選択せずに、右上の`次へ`を選択します
5. `グループ名`に任意の名前を入力します。「ゲソタウン入荷通知」とか何でも良いです。
6. 右上`作成`を選択します

LINEでの設定は以上です。

## IFTTTの設定
### アカウントの作成
[IFTTT](https://ifttt.com/discover)にアクセスしてアカウントを作成してください。
作成済みの方はスキップしてください。
IFTTTってなんや！？って人は適宜ググって調べてください。

### アプレットの作成
[My Applets](https://ifttt.com/my_applets)から[New Applet](https://ifttt.com/create)を選択して、アプレットの新規作成画面に入ります。
**If✚This Then That**という文字がデカデカと表示されていますね。`This`を選択します。

#### This部分

1. `Choose a service`の画面です。`Twitter`を探して選択します。
2. `Choose trigger`の画面です。`New tweet from search`を選択します。
3. `Complete trigger fields`の画面です。ここで具体的に**どんなギアが欲しいかの入力**をします（後述）。入力できたら`Create Trigger`を選択。

以上でThis部分の操作は終了です。欲しいギアを指定する部分について解説していきます。

##### どんなギアが欲しいかの入力
例として、私のケースを挙げながら解説いたしましょう。
わたしは**この世のすべてのギアをヒト速1,3で埋め尽くしたい！！！！！**という夢を持っております。
というわけで、ゲソタウンにヒト速のギアが入荷したときに通知を送ればよいことになります。

本記事で解説している方法は、ゲソタウン入荷お知らせbot ([@gesotown_shop](https://twitter.com/gesotown_shop))のツイートのうち、**欲しいギアの入荷ツイートだけが検索結果に出るような条件を設定すること**が肝要です。

当該botのツイートは下記のような本文から構成されます。
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ノーリーチャッカ トライブ(通常ギアパワー：インク効率アップ(メイン))が入荷しました。<br>特別ギアパワー：ステルスジャンプ<br>ブランド：エゾッコ(スペシャル減少量ダウン)<br>スロット：2<br>50日ぶり2回目の組合せです。<a href="https://t.co/WyldkZJt5O">https://t.co/WyldkZJt5O</a></p>&mdash; ゲソタウン入荷お知らせbot (@gesotown_shop) <a href="https://twitter.com/gesotown_shop/status/1153907937800122369?ref_src=twsrc%5Etfw">July 24, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

このツイートの観察から、「**特別ギアパワー：○○○○**」の部分を検索キーワードに含めれば、私が望む「ヒト速のギアが入荷したとき」という条件を満たすことができるとわかります。

従って、私は下記のように検索キーワードを設定しました。
`from:gesotown_shop "特別ギアパワー：ヒト移動速度アップ"`
[実際にこのキーワードでTwitter検索](https://twitter.com/search?q=from%3Agesotown_shop%20%22%E7%89%B9%E5%88%A5%E3%82%AE%E3%82%A2%E3%83%91%E3%83%AF%E3%83%BC%EF%BC%9A%E3%83%92%E3%83%88%E7%A7%BB%E5%8B%95%E9%80%9F%E5%BA%A6%E3%82%A2%E3%83%83%E3%83%97%22&src=typed_query&f=live)をかけてみて、必要なツイートだけが検索結果に現れていることを確認しましょう。

`from:gesotown_shop`の部分は、上記botからツイートされた呟きだけを検索するための検索コマンドです。
Twitterの検索コマンドについて詳しくは各自でググってみてください。

**英語版botを利用する場合**は```from:SplatNetStore "Run Speed Up" -Rockenberg```のような検索ワードにするとよいでしょう。
英語版の仕様上、ギアパワーの指定だけだとBrand affinityがRun Speed Upのギア――つまり、ロッケンベルグのギアも同時に検索に引っかかってきてしまいます。そのため、-Rockenbergのマイナス検索オプションを追加しました。
ブランドのマイナスオプションをつけた場合は**ヒト速ロッケンベルグのギアを見逃してしまう**という致命的な弱点を抱えることになってしまいます（事実、ヒト速ロッケンベルグのギアは過去に2種類も登場しています）が、私は勝手に「今後ヒト速ロッケンベルグのギアは追加されない」と決めつけてこの弱点を受け入れることにしました。
皆さんはどれを取ってどれを捨てるのかよく考えて検索ワードを設定してください。

他にもいくつか例を挙げておきます：

- カムバかステジャンのギアは何でも欲しい！
    - `from:gesotown_shop "特別ギアパワー：カムバック" OR "特別ギアパワー：ステルスジャンプ"`
    - [実際の検索結果](https://twitter.com/search?q=from%3Agesotown_shop%20%22%E7%89%B9%E5%88%A5%E3%82%AE%E3%82%A2%E3%83%91%E3%83%AF%E3%83%BC%EF%BC%9A%E3%82%AB%E3%83%A0%E3%83%90%E3%83%83%E3%82%AF%22%20OR%20%22%E7%89%B9%E5%88%A5%E3%82%AE%E3%82%A2%E3%83%91%E3%83%AF%E3%83%BC%EF%BC%9A%E3%82%B9%E3%83%86%E3%83%AB%E3%82%B9%E3%82%B8%E3%83%A3%E3%83%B3%E3%83%97%22&src=typed_query&f=live)
- サブ性能を持ったホッコリーのギアが欲しい！
    - `from:gesotown_shop "特別ギアパワー：サブ性能アップ" "ブランド：ホッコリー"`
    - [実際の検索結果](https://twitter.com/search?q=from%3Agesotown_shop%20%22%E7%89%B9%E5%88%A5%E3%82%AE%E3%82%A2%E3%83%91%E3%83%AF%E3%83%BC%EF%BC%9A%E3%82%B5%E3%83%96%E6%80%A7%E8%83%BD%E3%82%A2%E3%83%83%E3%83%97%22%20%22%E3%83%96%E3%83%A9%E3%83%B3%E3%83%89%EF%BC%9A%E3%83%9B%E3%83%83%E3%82%B3%E3%83%AA%E3%83%BC%22&src=typed_query&f=live)
- 爆減のギアは必要ないから、とりあえず他のギアパワーにしておきたい！
    - `from:gesotown_shop "通常ギアパワー：爆風ダメージ軽減"`
    - [実際の検索結果](https://twitter.com/search?q=from%3Agesotown_shop%20%22%E9%80%9A%E5%B8%B8%E3%82%AE%E3%82%A2%E3%83%91%E3%83%AF%E3%83%BC%EF%BC%9A%E7%88%86%E9%A2%A8%E3%83%80%E3%83%A1%E3%83%BC%E3%82%B8%E8%BB%BD%E6%B8%9B%22&src=typed_query&f=live)

あとは各自で自分の好みになるような検索条件を設定してみてくださいね。

**英語版だとどんな名前か分からないよという場合**は、[Inkipedia](https://splatoonwiki.org/wiki/Main_Page)から英語名を確認するのがよいでしょう。
[ブランド一覧のページ](https://splatoonwiki.org/wiki/Brand)や、[ギア一覧のページ](https://splatoonwiki.org/wiki/Checklist_of_gear_in_Splatoon_2)を見て、お目当ての英名を確認してください。
ギア名は検索から探すことも出来ます。スペースなども含めた完全な名前をInkipediaの検索欄に入力してページ検索しましょう。

検索キーワードがいい感じだなと確認できたら、先程の`Complete trigger fields`の画面に入力しましょう。

#### That部分

1. `Choose action service`の画面です。`LINE`を探して選択します。
2. `Choose action`の画面です。`Send message`を選択します。
3. `Complete action fields`の画面です。
    4. `Recipient`の部分で、先程作成した「自分だけがメンバーのトークグループ」を選択します。
    5. `Message`はそのままで問題ありません。（ただ、デフォルトのままだと若干ムダな情報も入っているので、慣れてきたら削ってみてください）
    6. `Photo URL`はそのままで問題ありません。
    7. 最後に`Create action`を選択します。
8. `Review and finish`の画面です。作成したアプレットの最終確認ができます。
    9. If New tweet from …… などと書いてある欄には、作成したアプレットの題名を入力します。そのまま変更しなくても構いません。
    10. `Receive notifications when this Applet runs`はそのままですが、アプレットが実行されたときに通知を受け取りたければオンにしておきます。
        11. アプレットがちゃんと動かないとき、IFTTTの問題なのかそうでないのか原因を突き止めるのに役立ったりします。
    12. `Finish`を選択して終了です。

# まとめ
正しく設定できていれば、もうこれ以降は自動的に通知が入ってくるようになります。やったね！
下記画像は、実際に私が日頃から受け取っているLINEの通知のスクショです。

![Screenshot_20190724-160237.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/336249/11dc8a35-07db-78d3-7aa7-faed95114203.png)

LINEの通知を確認できるということはスマホの操作ができる状態だと思うので、そのままNintendo Switch Onlineのアプリを起動してゲソタウンの注文まで済ませてしまうとよいでしょう。

## 余談
- アプレットは複数作成することができます。
    - そのため**検索条件に入れたいものが多すぎてうまく入らないよ～……**というときは、検索条件を複数に分けて、似たようなアプレットを複数登録するとい方法も一つの手です。
- 上記botが止まったときのために、別のbotを検索対象にしたアプレットも作っておけばもっと万全でしょう。2019年12月03日：英語版botを利用する方法を追記しました。
- 通知を流す先はLINE以外にも指定可能です。
- 情報の取得元も、Twitterのbot以外でも可能です。
    - 私は手軽に参照できるのはbotしか知らないのですが、Twitterに依存したくない人は検討してみるのもアリかもしれませんね。

それでは良きゲソタウンライフを。