gas-samneil

AES(Ablaze Emergency System)始動!

AESできたー!! えっ?AESって何かって? 下のブログにまとめてあるのでぜひ読んでね! https://blog.ablaze.one/769/2021-11-17/ 仕組みはこういう感じ 地震情報を5分おきにチェック 震度6弱以上の地震があったらRealtime Databaseの現在のシステム状況をチェック システム状況がモニタリングの場合はWebhook投函、メール配信を実行 簡単だね!(?) ちなみにキャンセル砲も準備できてます!(もちろんミスって配信するようなことはできる限り避ける) 本当はCloudflare APIもやりたかったけど、忙しいので… (訳:災害用のサイトを作る気力が俺にはもう残ってない) まぁ、そんな感じでそんな感じです(?) んじゃ、ばいのすけ。

December 11, 2021 · 1 min · kr_tukimi
gas-samneil

GASで便利なものを作ったお話

このブログを見ている人なら一度は聞いたことがあるだろう 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 完成日:(まだ作ってる) ...

November 8, 2021 · 1 min · kr_tukimi