kglabo.blog

I will output what I thought.

Splatoon2 - サーモンランの予定をDiscordに通知させるBOTをGASを利用して作成してみた

結果

こんな感じになりました。 f:id:kgr0210:20191028192555p:plain

動機

  • 身内でDiscordサーバーを立てており「この日のサーモンラン、一緒にやろうぜ」みたいなコミュニケーションを円滑化したかったため

設計

  1. サーモンラン予定をAPIで配信している内容を取得
  2. 取得したJsonデータをDiscordに適した形に整形
  3. 対象となるDiscordチャンネルに定期POSTする

とりあえず無料で実装したかったので「Google Apps Script」を活用。
サーモンラン予定に関しては ©SPLAMPさまのサーモンランAPIを利用させて頂いた。

実際のコード

補足

下記のコードは、Google Apps ScriptsのScriptPropertiesというコード内の値をKeyValue形式でGAS側に保存する事ができるを利用しました。

var prop = PropertiesService.getScriptProperties();
var res = prop.getgetProperty("WEBHOOK");

設定はGASのプロジェクトのプロパティ画面から設定する事ができます。

f:id:kgr0210:20191029123312p:plain

今回は、環境変数を読み込むのに利用したたけなので .getProperty("value")で値を取得しましたが
.setProperty("key", "value")で単一の値をセットする事も可能なようです。

どのような値をセットしても取得時には文字型で返ってくるので気をつけたほうが良さうです。

所感

  • GASのテストコード、エラーハンドリングの最適な方法が知りたいお気持ち。