Discord の定期リマインダーボット作成
discord の有名な reminder-bot がスケジュールリマインダー(特定の曜日に通知みたいなもの)に対応していなかったので、 自分で作成しました。今回は簡単にできるけど融通が効かないものと、面倒だけど融通が効くものを紹介していきます。 Cloud Scheduler + Cloud Workflow 完結に言うと、定期的に webhook するだけです。多分無料枠で納まります。 本来は Cloud Schduler から discord に直接送信したかったのですが、なぜか 400 エラーになってしまうので、Cloud Workflow 経由で実行しました。 作成手順 1. まず、discord 上でウェブフックを作成し、作成された URL を取得します。 2. workflow の作成 workflow は cloud console からの作成が容易なので、簡単なものならそちらで作成するのもいいと思います。コンソール上で以下のような workflow を作成します。 - postDiscord: call: http.post args: url: 先程発行したdiscordのwebhook url body: { "content": "メッセージは届いていますか?" } headers: Content-Typ: payload_json content に入れたメッセージが実際にチャンネルに投稿される内容になります。body の内容次第ではよりリッチなメッセージを送ることも可能です。 参考 workflow を作成したら実際に実行してみると、メッセージが届くことが確認できると思います。 3. cloud scheduler の設定 こちらのドキュメントに沿ってやっています。 リンクが死ぬ可能性もあるので、やった手順を一応載せときます。 gcloud iam service-accounts create bot-shedular # PROJECT_NAME を置換して下さい gcloud projects add-iam-policy-binding PROJECT_NAME \ --member serviceAccount:bot-shedular@PROJECT_NAME....