※初めての投稿なので、温かい気持ちで読んでいただけると幸いです。
背景
Slackを全社導入し、拡大する中で増えてくる参加チャンネル。
当然、届くメッセージも増えてくるわけでいつしかできたマイルール。
特定のリアクションをつけて、後から「has:reaction hasmy::{リアクション名}:」で検索。
ところが、それすら忘れる始末。いかん。
やったこと
- GAS(GoogleAppScript)でSlackの投稿を検索
- 検索結果をSlackの特定チャンネルに投稿
※Botユーザの作成は済んでいる前提の記事となります
GAS(GoogleAppScript)でSlackの投稿を検索
slackManage.gs
const token = "{Slackのトークン}";
const channelId = "{送信先チャンネルのID}";
function getAtode() {
var date = new Date();
if (date.getDay() == 0 || date.getDay() == 6) {
return;
}
let options = {
"method": "get",
"contentType": "application/x-www-form-urlencoded",
"payload": {
"token": token,
"query": "has:reaction hasmy::atode:"
}
}
let url = 'https://slack.com/api/search.messages';
let response = UrlFetchApp.fetch(url, options);
let obj = JSON.parse(response);
let count = obj.messages.total;
let matches = obj.messages.matches;
let resMessage = "【後でやる一覧】\n";
for (var i = 0; i < count; i++) {
resMessage = resMessage + matches[i].permalink + '\n';
}
sendSlack(resMessage, channelId);
}
検索結果をSlackの特定チャンネルに投稿
slackPost.gs
function sendSlack(message, channelId) {
let token = "{Slackのトークン}";
let slackApp = SlackApp.create(token);
slackApp.postMessage(channelId, message);
}
最後に
GASでめんどくさいを自動化してハッピーライフ