こんにちは、アーキテクトのやまぱんです。
今回は仲間たちで使っている Disdcord に特定のブログのRSSをキャッチしてポストしてみたいと思います。
とっても簡単にできるので自前のRSSリーダー欲しい方は是非使ってみてください!
補足コメントや質問、いいね、拡散、是非お願いします🥺!
間違ってたら優しく教えてください!
モチベ
有料の RSS 通知 botだと月々1000円以上するようなサービスもありましたが、おそらくそれよりはコストも安く済むのではないかと思います。
こちらに関しては一か月ほど動かしてみて実際のコストについても追記する予定です。
ちょっと高いなーと思ったので Azure Logic Apps で作ってみることにしました。
これでウォッチしてるブログを自分のDisdcordに通知することができます。
今回は省きますが、discord 以外、例えば Teams に投稿することも可能ですし、 Slack に投稿することも可能です。
Webhook に対応しているものであればなんでも OK です。
今回は Discordのコネクタ を使いましたが、ネイティブ Webhook で実装することも可能です。
https://discord.com/api/webhooks/1204140599490383973/uHC698JQKrZ5851wcA2u2BQOTIZwABUN8l1b9kmwAvszg5yAsDQH4V7U8Ok4THzhHivX
手順
Disdcord 側
RSS 通知を投稿した したいチャネルの設定でウェブフックのURLをコピーします。
Webhook の URL は 下記のような形になっています。
<Webhook ID> と <Webhook Token> をメモしておいてください。
https://discord.com/api/webhooks/<Webhook ID>/<Webhook Token>
https://discord.com/api/webhooks/1204140599490383973/uHC698JQKrZ5851wcA2u2BQOTIZwABUN8l1b9kmwAvszg5yAsDQH4V7U8Ok4THzhHivX
上記の例の場合、それぞれ下記のようになります。
- <Webhook ID>:1204140599490383973
- <Webhook Token>:uHC698JQKrZ5851wcA2u2BQOTIZwABUN8l1b9kmwAvszg5yAsDQH4V7U8Ok4THzhHivX
Azure Logic Apps 側
Azure Portal → 検索窓 から、"Logic" などで検索して新規作成します。
こんな感じ。
完成したらロジックアプリデザイナーで「フィード項目が発行される場合」をトリガーとして、にウォッチしたいブログのRSSを登録し、監視間隔を設定します。
つぎに「Discord ExcecuteErbhook」を次のフローとして、先ほどメモした値を入力し、監視間隔や文言などはすきにカスタマズして 「保存」 します。
こんなかんじ
Dsicord への通知の確認
無事に通知が来ていることがわかります(いったんこのブログを公開して通知がくるか確認しました)
- 利用したディスコードコネクタ
ネイティブ Webhook でするときは下記のフォーマットでOKです。
{
"username": "ympn",
"avatar_url": "https://github.com/qiita.png",
"content": "内容が無いよ~"
}
あとがき
この方法だとブログ(RSSフィード)1つ毎にロジックアプリを1つつくる必要があるので同じようなものを作りたい場合は下記の複製から簡単に複製することができます。
そしてフィードのURLなど固有の値だけをロジックアプリデザイナーから編集すればOKです。
本当は...
マルチトリガーを使って一つのロジックアプリで複数のRSS監視を実装したかったのですが、ハマってしまいそのトラブルシューティングに時間をかけるのももったいなかったので力技?で複製しました。
監視対象のブログが多くなると大変ですが、いまのところはこれでも回るのでヨシ!!
参考