GASでchatworkに定期投稿をしたい

実現したいこと

・スプレッドシートに記載したコメントを隔週でchatworkに自動投稿させたい
・予約投稿のように日付の更新が都度必要になるようなものではなく、一定期間で自動的に同じ内容を投稿できるようにしたい
・できればひとつのスプレッドシート内で毎日、毎週、隔週をまとめて管理したい

発生している問題・分からないこと

ネットで検索した下記のソースコードを利用してスプレッドシートに記載した複数の内容を
2週間に一回のペースで定期投稿したいのですが具体的な手段が分からずにいます。
下記は予約投稿を設定する内容のものです。
参考元:https://creators-note.chatwork.com/entry/gas-reservation-post

該当のソースコード

// 【編集対象】Chatwork API Token const token = 'APIトークン'; function myFunction() { // スプレットシート読み込み const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheetByName('シート1'); const lastRow = sheet.getLastRow() // ChatworkAPIクライント作成 const client = ChatWorkClient.factory({token: token}); // 実行日時 const today = new Date(); // スプレットシートに記載がある分だけ繰り返す for(var i = 2; i <= lastRow; i++) { const room_id = sheet.getRange(i, 2).getValue(); // ルームID const message = sheet.getRange(i, 3).getValue(); // 投稿内容 const reservation_date = new Date(sheet.getRange(i, 4).getValue()); // 投稿日 // 同じ日付の場合、メッセージ送信 if(diffDate(reservation_date,today)){ client.sendMessage({ room_id: room_id, body: message }); // 実行日時の記録 sheet.getRange(i, 5).setValue(new Date()); } } } // 日付を比較する(同じ場合、trueを返す) function diffDate(date1, date2){ if(date1.getFullYear() == date2.getFullYear()){ if(date1.getMonth() == date2.getMonth()){ if(date1.getDate() == date2.getDate()){ return true; } } } return false; }

試したこと・調べたこと

上記の詳細・結果

いろいろ調べてみたのですが定期投稿について解説しているものはどれもコードに直接内容を含ませるものばかりでスプレッドシートでの管理について記載しているものは予約投稿についてばかりでした。
まったく図々しいご相談で恐縮ですが、お知恵を貸して頂けますと幸いです。

補足

特になし

コメントを投稿

0 コメント