てなわけで、
n8nでGmailに来るTwitchでフォローしている人の配信開始通知をMastodonに転送するためのメモです。
まず、Gmailの設定が必要です。
やり方についてはn8nのドキュメントに書いてあるので、そちらを参照してください。
簡単に説明すると、
2段階認証が必須です。
Gmailのセキュリティ強化で2段階認証していない場合には脆弱としてブロックされます・・(というか22年の5月末でパスワード認証でのログインできなくなるっぽい?)
2段階認証後、アプリログイン用のパスワードを発行してあげて、それを使うって感じになります。
そして、Gmail側でIMAPを許可してあげてください。
あと、通常だと全メールを見に行くことになってしまうので私は読みたいメールにラベルをつけるようにフィルターして、この後設定するIMAPトリガーノードはそのフィルターを読むようにしてます。
n8nでCredentialsを開いたら、Add Newで追加していきます。
imap.gmail.com
詳細はこちらにも書かれています。
完成形はこんな感じになります。
このノードではHTMLメールのHTMLをCSS Selectorで取り出すことができるノードで、いちいちコードを書いたりする必要が無いのでめちゃ便利です
今回はTwitchの配信開始通知を例に書いていきます。
このノードではその名の通りHTTPリクエストを送れるので、これを利用してMastodonに投稿します。
今回はモロヘイヤWebhookを例にしていますが、APIも一応叩けますし、Discordなら後述するDiscordノードを使うのでもっと楽です。
おまけです、多分普通の人はDiscordに送ると思うのでこっちですねw
ちなみに、改行は|
です
(Edit Expressionで改行してあげると自動で入ります)
今回はTwitchという例でやりましたが、HTMLなメールでも簡単に切り抜いてMastodonやDiscordに投稿できました。
GmailじゃなくてもIMAP使えるなら何でもできますし、他のノードを使って別の処理をしたりとかもできるので非常に便利です。
あと、複数メール受信した場合とかもちゃんとその分動いてくれます(大量に受信しない事が前提ですが、件数を抑えたい場合はそのように処理することも可能です)