YouTubeの投稿をDiscordに通知するツールを作ってみた
こんにちは、たーけです。
今回は、YouTubeの動画やライブ配信のお知らせを、Discordに通知するツールを作ったので紹介します!
スプレッドシートとGASで製作しました。
利点
- お知らせの文を自由に変更できる
- 簡単な設定
が強みかなと思っています。
導入方法
-
以下のリンクからスプレッドシートをコピーします。
https://docs.google.com/spreadsheets/d/143wMT-w0DcDb0CbNPCkxCN2d-ab1T26AhupzUb9otD8/copy -
「説明」シート内にある「初期設定」ボタンを押します。
-
「認証が必要です」と出るので、画像の通りに認証をします。
警告が出てきますが、無視して問題ありません。(コードの内容はできれば確認しておくことをおすすめします)
-
完了メッセージが出たら作業は終了です!
メニュー
作成したスプレッドシートには、このようなメニューバーが追加されています。
操作 | 説明 |
---|---|
トリガー再設定 | 動画確認用のトリガーを登録します。「初期設定」ボタンと同じ動作です。 |
Webhook通知確認 | 指定したWebhookでテストメッセージを送信します。 |
手動で動画確認 | 動画の更新を確認します。5分に1回自動で行われているため、基本的には不要です。 |
設定をしよう!
導入できたら、設定を行います。setting
シートを見てください。
これは設定例です。オレンジ色の部分を書いていきましょう!
基本設定
-
チャンネル表示名(任意)… 使わないので書かなくていいです。
-
チャンネルID … 取得したいチャンネルのIDを入力します。
-
通常動画用WebhookURL・ライブ配信用WebhookURL
写真の順に操作して、DiscordのWebhookを作成して、URLを入力してください。
通知設定
イベントが起きた時に通知する文章を設定できます!
空白の場合は通知されません。
{link}
と入力すると該当のYoutubeリンクになるなど、いくつかのテンプレートがあります。
以下のテンプレートが使えます。
タイトル | 対応状況 | 説明 |
---|---|---|
videoId | 共通 | 動画ID |
link | 共通 | 動画のリンク(通常形式) |
thumbnailUrl | 共通 | サムネイルのURL |
description | 共通 | 動画の説明 |
publishedDate | 共通※ | 動画の公開日時 |
updatedDate-r | 共通 | 動画の最終更新日(未フォーマット) |
duration | 動画のみ | 動画時間(例:1:06:23) |
startedDate | ライブ配信のみ※ | ライブ配信の開始日時 |
scheduledDate | ライブ配信のみ※ | ライブ配信の予定日時 |
※のついているものは、timestampと未フォーマットにも対応しています。
例:publishedDate-ts
:タイムスタンプ
publishedDate-r
:未フォーマット(ISO 8601で返るはずです)
使用技術
GASを使って定期的に実行しています。
Youtubeのフィードから情報を取得し、(以下は例)
動画の更新が見つかったらYouTube Data APIを用いて詳しい情報を取得しています。
スプレッドシートに記録しておくことで履歴を貯めています。
クレジット
原作: @tatsumin39 さんMITライセンスで公開されていたものを大幅に改変しました。
本当にありがとうございます!
また、私たーけの変更部分もMITライセンスで利用可能です。
最後まで読んでいただきありがとうございました!
要望があれば、コードの説明もしたいと思います。
Discussion