こんにちは。ブログまで手が回らず年が明けてからひと月半ほど書けておりませんでした。石川です。
最近ノーコードがアツそうなので便乗して バーチャルYouTuber(VTuber) の配信通知を受け取るbotを作った話を記事にします。
Qiitaにも書いたネタだったりします。
使うもの
- Azure Logic Apps
- Slack
- 数円
かかる費用
月に 1〜10円/推し 程度です。
ちょっと計算してみます。

パッと見てわかりにくい価格説明ですが、計算自体は小学生でもできるレベルです。
- アクション
- 組み込み(ビルトイン)のトリガー/コネクタが動作する際に課される金額
- Standard or Enterprise コネクタ
- コネクタを1度呼び出すごとに課される金額
という意味ですので、1実行で1つの組み込みトリガーと3つのStandardコネクタが動く場合は1実行で
0.014560 * 3 + 0.003136 = 0.046816円
が課金されます。100回動かして4円くらいです。
実際に、5分に1回動作するようにして使っていますが、

1ヶ月で 14.97円 でした。 実質タダ です。
作り方
1. 推しを決める
今回は ホロライブ 所属の バーチャル狐の白上フブキ さんを推します。 こんこんきーつね。
2. 配信告知のツイートをいい感じに検索できるクエリを書く
推してたりツイート通知をオンにしてたりすると、配信告知ツイートの特徴が掴めるはずなのでそれっぽいツイートだけピックアップできるような検索クエリを書きます。
(youtu.be AND (はじまんぼ OR から OR #フブキch OR 白上フブキ)) (from:shirakamifubuki) (exclude:retweets)
今回の場合は↑のようなクエリになりました。実際に取れるかどうかはTwitterの検索窓に入れて検索しましょう。

配信告知のツイートだけが拾えていれば OK です。ダメっぽい時やノイズが混じるときはクエリを見直していい感じにしてください。
3. Logic Appsを作る
リソースを作成し、デザイナーに移動します。

こんな画面。
Logic Appsでは 何を契機に動き出すか(トリガー) と 何をするか(アクション) を組み合わせてアプリを作ります。
トリガーを設定しないと始まらないのでまずはトリガーの設定をします。今回はツイートを契機とするのでTwitterのコネクタを探します。

必要に応じて、アカウントとの接続を要求されるのでいつも使ってるアカウントとか適当なものでログインしましょう。
新しいツイートが投稿されたら を選択すると以下のような表示になるので必要項目を入れていきます。

検索テキストにさっき書いたクエリを入れて確認する頻度を設定します。
この確認する頻度で設定した時間おきに1実行となります。毎秒とかにすると冒頭に上げた金額以上になると思われるのでご注意を。

次にツイートが検索に引っかかった時の処理を作ります。
+新しいステップ をクリックし Slack を検索。

投稿メッセージ を選択します。

こんな感じの設定画面が出てくるので値を埋めます。
こちらも Twitter と同じく初回はアカウントへのログインを要求されるので通知を飛ばしたい先のアカウントでログインしましょう。
パラメータを追加したり値を埋めたものがこちら。

今回は自分のDMに飛ばしたいので チャネル名 で カスタム値 として自分の Username を指定しています。
(@@としているのはエスケープのためです)
設定できたら 保存 をしてツイートを待ちましょう。
4. ツイートを待つ
実行された結果がこちら。

こんな風に飛んできます。末尾にツイート自身へのリンクが付与されるので消したいところ…。
もちろん動画/生配信を見るのは業務時間外で…!
コードを書かずに bot 作成ができたところで今回はここまで。おつかれさまでした。