このブログを見ている人なら一度は聞いたことがあるだろう
Google Apps Script(通称:GAS)でAblazeの内部システムを作ってみました!
名前は「Ablaze Emergency System(通称:AES)」!!
GASで作られたこのAESは最大震度6弱以上の地震が発生した時に、
Ablazeを維持するための自動化スクリプトです。
AES は AEP(Ablaze Emergency Protocol)という、
災害時などの対応方法を記したプロトコルと一緒に
制定・開発が進められました。
使ったシステムとかいろいろ
- GAS
- Google Drive™
- Cloudflare API
- Cloudflare Pages™
- Realtime Database ( Firebase™ )
- SendGrid® ( 構造計画研究所 )
- Twitter API
- Webhook ( Discord )
- 地震情報API ( なりかくん )
AESが勝手にやってくれること
- WebhookでDiscordに災害情報の投函
- SendGridを使用した、安否確認メールの一斉配信
- Twitter APIを使用した、緊急情報の配信
- Cloudfllare APIを使用した、バックアップサーバーへの自動切換え
どんなふうに動くの?
色々やってくれる。
- 地震情報を定期的に取得
- (最大震度6弱地震以上の場合)
すでにAESが実行されていないか Realtime Database にアクセスし、確認する - (実行してない場合)
Realtime Database のステータス状況を「実行済み」にセットする - Webhook で Discord の特設チャンネルに地震に関する主な情報を投稿
画像は Google Drive に保存してるため、地震規模により最適な画像を選択 - SendGrid で安否確認メールを自動配信
メールアドレスのリストは Google Drive に保存してるので取得 - Cloudflare API を使用して「ablaze.one」のAレコードを削除
- Cloudflare API を使用して「ablaze.one」のバックアップサーバーへのCNAMEを追加
- Twitter APIを使用して、Twitter にて自動的に対応を終わらせたことを公表する
- 実行結果を Webhook で Discord に自動投稿
作成時間とかなんとか
AEP/AES プロジェクト始動開始日: 2021/10/07
AES 製作開始日:2021/10/11 (多分)
AEP 草案完成日:2021/10/15
AEP 制定日:2021/10/23
AES 完成日:(まだ作ってる)
作った人: kr-tukimi
思ったんだけど、なんで作ったの?
思いついたら作るしかないだろ ?
まぁ、そんな精神で作りました()
ちなみに作るきっかけになったのは、10/07 の 22時41分、
関東で10年ぶりに最大震度5強以上を観測した地震です。
以上!
画像コーナー
Webhookの画像に使われるやつ
Webhookの見た目

安否確認メールの見た目(初回のテスト配信は右のWelcomeメールが届けられます)
GoogleおよびGoogleロゴは、Google LLCの登録商標です。
Cloudflare、Cloudflareのロゴ、およびCloudflare Workersは、
米国およびその他の地域におけるCloudflare, Inc.の商標および/または登録商標です。