【Discord】Googleカレンダーと連携してテキストチャンネルにリマインダーを送るBotを作る。【プログラミング不要】

有料記事ですが全文無料で公開してますのでご安心ください。


はじめに

シャドウバースを続けてる理由としてRAGEで結果を出す事を目標としてる方も多いと思いますが、最近ではRAGEのシード権をかけて、各地でES地方大会が開催されています。
ES地方大会は開催頻度もそこそこ高く、締切も開催日よりかなり早いため申し込み自体を忘れた経験がある方も多いのではないでしょうか。

というわけで、今回はチーム内でGoogleカレンダーを設置して相互に申し込み忘れを防ぎましょう。という提案とそれに連携して動くDiscord Botの作り方を書こうと思います。
ぶっちゃけここから先シャドウバースに関する情報は1ミリも書かないので、興味のない方はブラウザバック推奨です。

完成イメージ

画像1

必要なもの

・Discord
https://discordapp.com/
Discordユーザーのために記事なのでインストールされてる前提で書きます。

・Googleカレンダー
https://calendar.google.com/
Googleアカウントは事前に用意しておいてください。

・IFTTT
https://ifttt.com/
DiscordとGoogleカレンダーの橋渡しをしてくれるサービスです。

Googleカレンダーの作成

まずは共有するためのカレンダーを作っていきましょう。
①左下のメニューから[+]を押して、[新しいカレンダーを作成]

画像2

②カレンダーのタイトルを設定して、[カレンダーを作成]

画像24

これでカレンダーの作成は完了です。

Discordの設定

DiscordにBotを設定していきます。
①通知したいテキストチャンネルの横の歯車マークから設定を開く。

画像4

②左の項目からウェブフックを選び、[ウェブフックを作成]をクリック。

画像5

③ウェブフックに各情報を入力。画像はデフォルトなので自由にカスタマイズしてください。

画像6

念の為右上のチャンネルが、通知対象のチャンネルになってることを確認。
ウェブフックURLは後で使うので、メモ帳とかにメモしておくと良いです。

これでDiscordの設定は完了です。

IFTTTの設定

使ったことない前提で書くので、まずは会員登録から。
画面中央あたりにGoogleアカウントから登録するボタンがあるので、こちらから登録すると良いです。

画像7

アカウント選んだりする画面に行くと思いますが、人によって画面が違うので省略。
登録が完了したら、トップページが出てくると思います。以下設定方法の解説。

画像8

①右上の顔のマークをクリックして、[Create]をクリック。

画像9

②[+this]をクリック。

画像10

③今回はGoogleカレンダー→(IFTTT)→Discordとデータがやり取りされていくので、検索窓に[google calender ]を入れて、対象のサービスをクリック。
また認証画面が出るけど同様に進めます。

画像11

④トリガーを選択する画面になるので、今回は[Any event starts]を選択。
説明文がわからない場合はgoogle翻訳すれば理解できると思います。
他のイベントも使い道があるので、理解が進んだら試してみましょう。

画像12

⑤カレンダーを選択する画面と、通知時間の設定が出るので、対象のカレンダーと通知時間を設定します。
通知時間は、15分前、30分前、45分前が設定できます。
画像では45分前で説明していきます。
設定ができたら、[Create trigger]で完了させます。

画像13

⑥次はDiscord側の設定をします。[+that]をクリック。

画像14

⑦Discordで先程ウェブフックを作成したので、[Webhooks]と検索します。

画像15

⑧アクションを選ぶ画面に変わりますが、一つしか無いので画像省略。

⑨通知の詳細を入力します。以下の通りに入力します。
すべて入力したら、[Create action]で完了させましょう。

URL:Discordのウェブフック作成時に取得したウェブフックURL
Method:POST
Content Type:application/json
Body:{ "content": "--------------------\n@everyone 次のイベントが45分後に開始されます。\n--------------------\nタイトル:{{Title}}\n開始日時: {{Starts}} \n--------------------" }

画像16

Bodyの部分はカスタマイズ可能です。知識不要の前提で進めてきましたが、この部分に関しては少し知識がいるので注意。

⑩適当なタイトルを入れて[Finish]

画像17

以上でIFTTTの設定は完了です。

カレンダー連携確認

テストでカレンダーに45分後に予定を入れてみて、動くかチェックしてみましょう。現在時刻は 22:40ほど。50分後の11:30に予定を入れて、22:45頃にDiscordに通知が来れば成功ですね。

画像18

画像19

無事出てくれました。体感ですが最初は失敗するときもあったので、何回か成功するまで試すとよいかと思います。

カレンダーの共有化

無事に動作確認が出来たら、カレンダーを複数人で共有できるように設定しましょう。

①カレンダーの設定と共有を開く。

画像20

②閲覧権限をすべての人に与える。これでgoogleアカウントを持ってない人も予定が確認できます。

画像21

③[ユーザーを追加]をクリックして、[予定の変更権限]を与える。Googleアカウントを持ってる人に編集権限を与えます。協力してくれる方にGoogleアカウントを教えてもらうなり、新規作成してもらうなりして、そのアカウント宛にメールを送ります。

画像22

画像23

承認する側にメールが届くので、メールに従って承認してください。

④Googleアカウントを持ってない人向けのページは、[このカレンダーの公開URL]から表示できます。

画像24

以上ですべての設定が完了です。お疲れさまでした。

このIFTTTというサービスはプログラミング不要で、様々なサービスと連携できるため色々使い道があって面白いです。興味を持った方はぜひ調べてみてください!

この記事が気に入ったらサポートをしてみませんか?