Skip to content

Instantly share code, notes, and snippets.

@vegeta897
Last active September 20, 2017 09:01
Show Gist options
  • Save vegeta897/06585e829ce90c319b3907f87626e7c3 to your computer and use it in GitHub Desktop.
Save vegeta897/06585e829ce90c319b3907f87626e7c3 to your computer and use it in GitHub Desktop.
var fs = require('fs');
var filename = './sendHistory.json';
var sendHistory;
try {
JSON.parse(fs.readFileSync(filename));
} catch(err) {
fs.writeFileSync(filename, JSON.stringify({data:[]})+'\n');
} finally {
sendHistory = JSON.parse(fs.readFileSync(filename)).data;
}
var adminID = '123123123123123123'; // Your user ID here
function getDMs(dmChannel, delay) {
setTimeout(function(){
bot.getMessages({ channelID: dmChannel, limit: 100 }, function(err, messagesArray) {
if(messagesArray.length === 0) return;
messagesArray.reverse();
var backlog = '__Message(s) from **' + messagesArray[0].author.username + '**__';
var newMessages = 0;
messagesArray.forEach(function(msg){
if(msg.author.id === bot.id) return;
if(sendHistory.indexOf(msg.id) >= 0) return;
newMessages++;
backlog += '\n' + msg.timestamp.substr(0,19) + ' ' + msg.content;
sendHistory.push(msg.id);
});
if(newMessages === 0) return;
bot.sendMessage({ to: adminID, message: backlog.substr(0, 2000) });
fs.writeFileSync(filename, JSON.stringify({data:sendHistory})+'\n');
});
}, delay);
}
var dm = 0;
for(var dmKey in bot.directMessages) {
if(!bot.directMessages.hasOwnProperty(dmKey)) continue;
getDMs(dmKey, dm * 5000);
dm++;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment