Skip to content

Instantly share code, notes, and snippets.

@sugiii8
Created September 13, 2019 05:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sugiii8/359f5ec5e541585eaa1f0a7710ac6a44 to your computer and use it in GitHub Desktop.
Save sugiii8/359f5ec5e541585eaa1f0a7710ac6a44 to your computer and use it in GitHub Desktop.
リストをシャッフルしてSlack通知する(シートなしgasのみ版)
function setTrigger() {
// 使用済トリガー削除
delTrigger()
// 9:45
var triggerDate = new Date();
const week =triggerDate.getDay();
if (week == 0 || week == 6) {
// holiday no working
return;
}
triggerDate.setHours(9);
triggerDate.setMinutes(45);
ScriptApp.newTrigger('main').timeBased().at(triggerDate).create();
}
function main() {
const names = getMembers()
shuffle(names);
const message = names.join('\n')
slack(message)
}
function getMembers() {
return ['alice', 'bob']
}
function delTrigger() {
var triggers = ScriptApp.getProjectTriggers();
// setTriggerで登録したトリガーのみ削除
for(var i=0; i < triggers.length; i++) {
if (triggers[i].getHandlerFunction() == 'main') {
ScriptApp.deleteTrigger(triggers[i]);
}
}
}
function shuffle(array) {
for(var i = array.length - 1; i > 0; i--){
var r = Math.floor(Math.random() * (i + 1));
var tmp = array[i];
array[i] = array[r];
array[r] = tmp;
}
}
function slack(message) {
// channel: general
const slackWebhookURL = 'WEB HOOK URL'
UrlFetchApp.fetch(slackWebhookURL, {
method: 'post',
payload: JSON.stringify({
text: '朝会の順番は以下です!:coffee:\nいない人は飛ばして下さい!:sunny:\n' + (message || '')
})
})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment