IFTTTの話題があったので、n8nにないかなと思ったら、トリガではないものの出来そうだったので試しました。

前提

  • n8n導入済み
  • SpotifyのClientIDやらを取得済み
  • モロヘイヤ導入済み(モロヘイヤのなうプレ機能を使います)

ワークフロー

n8n_nowplaying 今回はこんな感じ。
n8nではSpotifyノードをトリガとして指定できないみたいなので、実際に使うときはCronで5分毎みたいな感じになると思います。

Cron

5分毎に指定

Spotify

Spotifyのクレデンシャルは事前に指定済みとします。
Resource に Playerを指定。
Operation に Currently Playingを指定。

Set

別になくてもいいんですが、今回はなんとなく追加。
Values to Setを設定していきます。

Name に TrackURL を指定。
Value に {{$node["Spotify"].json["item"]["external_urls"]["spotify"]}} を指定。 これで、再生中の曲のURLが取得できます。

モロヘイヤを使わない場合は、URLとタイトル、アルバム、アーティストとかを取得すればいいでしょう。

HTTP Request

Request Methodは POSTを指定。
URLにモロヘイヤのWebhookを指定します。

Bodyはtextで #nowplaying {{$node["Set TrackURL"].json["TrackURL"]}}でよいでしょう。
モロヘイヤを使わない場合は、普通にMisskeyのAPIたたけば大丈夫です。
2

これで、モロヘイヤのなうプレ機能を使って投稿されます。

こんな感じ

3

最後に

n8n色々と使えますね、見てるとMatrixのノードとかもありますし・・・

今回の使い方だと実はちょっと問題があって、曲の長さ的にも最長で5分毎くらいにしかできず、頻繁にAPIを叩く必要があること。

これ大丈夫かな。。あとで調べようと思います。
といっても、私はSpotify使ってない人なので、もし聞くことがあったらその時だけActiveにすればいいかなとか思ったり。

ちなみに、10分くらいの曲聞いたら重複するんですが、そのあたりは、適当にFunctionで前と同じTrackURLだったらはじけばいいので大した問題ではありません。

ちなみに、モロヘイヤのなうプレ機能は、SpotifyやAppleMusicのURLを張ると、自動でタイトルやらアルバム名やらを投稿してくれる機能です。
めちゃ便利なのでぜひ鯖缶の人はモロヘイヤを導入しましょうw

と言う感じで、この辺で。
では、また。

  • 鴉河雛@LemmyOPMA
    link
    13 years ago

    Misskeyと書きましたが、PostするだけならMastodonでもほぼ同じです。。
    また、モロヘイヤを使ってる場合はWebhookを使えるので、PleromaでもMisskeyでもMastodonでも対応してれば同じ方法でできます。