function removeHistoryMessage(index) { if (_messageList.length - 1 == index) { console.log(colors.info("Done..........")); return; } start = true; var e = _messageList[index]; request({ url: slack.url + slack.api.chat_delete, qs: { token: slack.token, channel: e.channelId, ts: e.message.ts }, timeout: 5000, json: true }, function (err, resp, reqData) { if (err || resp.statusCode != 200) return err || new Error("Error: " + resp.statusCode); if (reqData.ok || reqData.ok == "true") { console.log(colors.data(" >>>> Message deleted. > Message Timestamp: " + e.message.ts + " / Index: " + index + " - Message Count: " + _messageList.length)); var i = index + 1; removeHistoryMessage(i); } else { console.log(colors.error("Error: " + reqData.error)); } }); }
function getHistoryMessage(data, index) { if (data.length > 0 && (data.length == index)) { return; } var e = data[index]; request({ url: slack.url + slack.api.channels_history, qs: { token: slack.token, channel: e, count: 1000 }, timeout: 5000, json: true }, function (err, resp, reqData) { if (err || resp.statusCode != 200) return err || new Error("Error: " + resp.statusCode); if (reqData.ok || reqData.ok == "true") { var messages = reqData.messages; var messageList = new linqts_1.List(messages); console.log(colors.debug(" >> Fetching the channel history. ID: " + e + " / Count: " + messageList.Count() + " " + (messageList.Count() == 0 ? "- " + colors.error("Data not available") : ""))); messageList.ToArray().forEach(function (k) { _messageList.push({ channelId: e, message: k }); }); if (messageList.Count() > 0 && !start) removeHistoryMessage(0); var i = index + 1; getHistoryMessage(data, i); } else { console.log(colors.error("Error: " + reqData.error)); } }); }
}) .catch(function (err) { console.log(colors.error('Fail! '+err)); });