this post was submitted on 13 Jun 2024
2 points (100.0% liked)

ŝercaĵo

77 readers
1 users here now

鴉河が個人的に何か書くところです。
大体はギャグか戯言として受け止めてくださいな。

 このページで利用している株式会社スクウェア・エニックスを代表とする共同著作者が権利を所有する画像の転載・配布は禁止いたします。
 © ARMOR PROJECT/BIRD STUDIO/SQUARE ENIX All Rights Reserved.

founded 3 years ago
MODERATORS
 

ってことで、唯一見ている某VTuberがツイキャスを始めるということだったので(まだサービスしてたのか・・w)𝕏をやってない私としては配信通知を受けられない。

ってことでとりあえずDiscordに通知できるようにサクッとn8nでやってあげたのでそのメモです。

非常にシンプル


ありがたいことにツイキャスにはちゃんとAPIの提供があり、更にWebhookにも対応しているとのこと。

https://apiv2-doc.twitcasting.tv/

ってことなのでWebhookを利用してサクッとやってやります。

アクセストークンの取得

ClientIDとClientSecretが必要ですが、それはアプリケーション登録からサクッとやってやります。

ドキュメントを参考に https://apiv2.twitcasting.tv/oauth2/authorize?client_id={YOUR_CLIENT_ID}&response_type=code&state={CSRF_TOKEN}にアクセスしてコードを受け取ります。

ただ、CSRF_TOKENはなくていいのでstate以降は削ってあげます。

※コールバックURLはlocalhostとかにしておくと良い(あるならあるでいい)

コールバックにCODEが渡されるのでそいつをメモしてあげます。

それを使って/oauth2/access_tokenにPOSTしてあげればアクセストークンの取得完了。

なお、これはユーザID取得のために必要なだけなので、ユーザIDがわかってる場合は不要です。

私はよくわからなかったので一応取っておきました。
※screen_idしかわかってなかった

Webhookの登録

Webhookに配信開始通知をしたい場合、登録が必要みたいです。

Register Webhookを使って登録してあげます。

curl -X POST "https://apiv2.twitcasting.tv/webhooks" \
-H "Accept: application/json" \
-H "X-Api-Version: 2.0" \
-H "Authorization: Basic {BASE64_ENCODED_STRING}" \
-d '{"user_id": "xxxxxxx", "events": ["livestart", "liveend"]}'

これでOKみたい。

BasicはClientIDとClientSecretでおkだった。

終わったら、以下で確認できるとのことだったけど、ドキュメントとは結果が違ったのでちょい謎w

curl -X GET "https://apiv2.twitcasting.tv/webhooks?limit=20&offset=5" \
-H "Accept: application/json" \
-H "X-Api-Version: 2.0" \
-H "Authorization: Basic {BASE64_ENCODED_STRING}"

Discordへの送信

テスト送信ができないっぽかったのでドキュメントだけが頼りになります。

今現在だとこの設定でちゃんと取れるっぽかったです。

{{ $json.body.broadcaster.name }}さんが配信を開始しました。

{{ $json.body.movie.title }}
{{ $json.body.movie.link }}

※なお、タイトルは正しくないっぽい

一応今回は開始と終了両方設定しましたが、通知は開始だけに。

しばらく様子見てみてちゃんと通知されてくれることを祈ります。

no comments (yet)
sorted by: hot top controversial new old
there doesn't seem to be anything here