【Discord】Googleカレンダーと連携してテキストチャンネルにリマインダーを送るBotを作る。【プログラミング不要】
有料記事ですが全文無料で公開してますのでご安心ください。
はじめに
シャドウバースを続けてる理由としてRAGEで結果を出す事を目標としてる方も多いと思いますが、最近ではRAGEのシード権をかけて、各地でES地方大会が開催されています。
ES地方大会は開催頻度もそこそこ高く、締切も開催日よりかなり早いため申し込み自体を忘れた経験がある方も多いのではないでしょうか。
というわけで、今回はチーム内でGoogleカレンダーを設置して相互に申し込み忘れを防ぎましょう。という提案とそれに連携して動くDiscord Botの作り方を書こうと思います。
ぶっちゃけここから先シャドウバースに関する情報は1ミリも書かないので、興味のない方はブラウザバック推奨です。
完成イメージ
必要なもの
・Discord
https://discordapp.com/
Discordユーザーのために記事なのでインストールされてる前提で書きます。
・Googleカレンダー
https://calendar.google.com/
Googleアカウントは事前に用意しておいてください。
・IFTTT
https://ifttt.com/
DiscordとGoogleカレンダーの橋渡しをしてくれるサービスです。
Googleカレンダーの作成
まずは共有するためのカレンダーを作っていきましょう。
①左下のメニューから[+]を押して、[新しいカレンダーを作成]
②カレンダーのタイトルを設定して、[カレンダーを作成]
これでカレンダーの作成は完了です。
Discordの設定
DiscordにBotを設定していきます。
①通知したいテキストチャンネルの横の歯車マークから設定を開く。
②左の項目からウェブフックを選び、[ウェブフックを作成]をクリック。
③ウェブフックに各情報を入力。画像はデフォルトなので自由にカスタマイズしてください。
念の為右上のチャンネルが、通知対象のチャンネルになってることを確認。
ウェブフックURLは後で使うので、メモ帳とかにメモしておくと良いです。
これでDiscordの設定は完了です。
IFTTTの設定
使ったことない前提で書くので、まずは会員登録から。
画面中央あたりにGoogleアカウントから登録するボタンがあるので、こちらから登録すると良いです。
アカウント選んだりする画面に行くと思いますが、人によって画面が違うので省略。
登録が完了したら、トップページが出てくると思います。以下設定方法の解説。
①右上の顔のマークをクリックして、[Create]をクリック。
②[+this]をクリック。
③今回はGoogleカレンダー→(IFTTT)→Discordとデータがやり取りされていくので、検索窓に[google calender ]を入れて、対象のサービスをクリック。
また認証画面が出るけど同様に進めます。
④トリガーを選択する画面になるので、今回は[Any event starts]を選択。
説明文がわからない場合はgoogle翻訳すれば理解できると思います。
他のイベントも使い道があるので、理解が進んだら試してみましょう。
⑤カレンダーを選択する画面と、通知時間の設定が出るので、対象のカレンダーと通知時間を設定します。
通知時間は、15分前、30分前、45分前が設定できます。
画像では45分前で説明していきます。
設定ができたら、[Create trigger]で完了させます。
⑥次はDiscord側の設定をします。[+that]をクリック。
⑦Discordで先程ウェブフックを作成したので、[Webhooks]と検索します。
⑧アクションを選ぶ画面に変わりますが、一つしか無いので画像省略。
⑨通知の詳細を入力します。以下の通りに入力します。
すべて入力したら、[Create action]で完了させましょう。
URL:Discordのウェブフック作成時に取得したウェブフックURL
Method:POST
Content Type:application/json
Body:{ "content": "--------------------\n@everyone 次のイベントが45分後に開始されます。\n--------------------\nタイトル:{{Title}}\n開始日時: {{Starts}} \n--------------------" }
Bodyの部分はカスタマイズ可能です。知識不要の前提で進めてきましたが、この部分に関しては少し知識がいるので注意。
⑩適当なタイトルを入れて[Finish]
以上でIFTTTの設定は完了です。
カレンダー連携確認
テストでカレンダーに45分後に予定を入れてみて、動くかチェックしてみましょう。現在時刻は 22:40ほど。50分後の11:30に予定を入れて、22:45頃にDiscordに通知が来れば成功ですね。
無事出てくれました。体感ですが最初は失敗するときもあったので、何回か成功するまで試すとよいかと思います。
カレンダーの共有化
無事に動作確認が出来たら、カレンダーを複数人で共有できるように設定しましょう。
①カレンダーの設定と共有を開く。
②閲覧権限をすべての人に与える。これでgoogleアカウントを持ってない人も予定が確認できます。
③[ユーザーを追加]をクリックして、[予定の変更権限]を与える。Googleアカウントを持ってる人に編集権限を与えます。協力してくれる方にGoogleアカウントを教えてもらうなり、新規作成してもらうなりして、そのアカウント宛にメールを送ります。
承認する側にメールが届くので、メールに従って承認してください。
④Googleアカウントを持ってない人向けのページは、[このカレンダーの公開URL]から表示できます。
以上ですべての設定が完了です。お疲れさまでした。
このIFTTTというサービスはプログラミング不要で、様々なサービスと連携できるため色々使い道があって面白いです。興味を持った方はぜひ調べてみてください!
この記事が気に入ったらサポートをしてみませんか?