ChatWork

【ChatWork】指定時間に時刻を投稿する方法

chatwork-post-time-specified-time

chatwork+gas(Google Apps Script)で「毎日指定時刻に投稿 + 投稿内容は指定時刻を記述」にしてみました。

理由としては、チャットワークが流れがちなので、日にちごとに区切りを入れたかっただけです。

指定時間に時刻を投稿するコード

function sendMessageMyroom() {
  var client = ChatWorkClient.factory({token: 'チャットワークAPIトークン'});
  var todayDate = new Date();
  var todayDay = Utilities.formatDate( todayDate, 'Asia/Tokyo', 'yyyy年M月d日 h時m分');
  client.sendMessage({room_id: '送りたいルームID', body: '[hr]'+todayDay+'になりました!'});
}

// その日の10時14分にトリガーを設定
function setTrigger() {
  var triggerDay = new Date();
  triggerDay.setHours(10);
  triggerDay.setMinutes(14);
  ScriptApp.newTrigger("main").timeBased().at(triggerDay).create();
}

// その日のトリガーを削除する関数
function deleteTrigger() {
  var triggers = ScriptApp.getProjectTriggers();
  for(var i=0; i < triggers.length; i++) {
    if (triggers[i].getHandlerFunction() == "main") {
      ScriptApp.deleteTrigger(triggers[i]);
    }
  }
}

// 実行したいスクリプト本体
function main() {
  deleteTrigger();
  sendMessageMyroom();
}

メモ

  • 「チャットワークAPIトークン」と「送りたいルームID」の2箇所を入力

  • Utilities.formatDate( todayDate, 'Asia/Tokyo', 'yyyy年M月d日 h時m分');で投稿時刻を取得

  • あとはsetTrigger()を日時指定のトリガーに登録すればOK

参考

https://qiita.com/sumi-engraphia/items/465dd027e17f44da4d6a

まとめ記事の紹介
ABOUT ME
すいみん
東京在住。デザイナー寄りのテクニカルデザイナー。 ブログは技術検証の備忘録として書いています。