added log retrieval

This commit is contained in:
hydrabolt
2015-08-25 18:56:56 +01:00
parent ab424ce4a4
commit dea786d90a
3 changed files with 315 additions and 181 deletions

View File

@@ -395,6 +395,90 @@ var Client = (function () {
});
});
}
}, {
key: "getChannelLogs",
value: function getChannelLogs(channel) {
var amount = arguments.length <= 1 || arguments[1] === undefined ? 500 : arguments[1];
var callback = arguments.length <= 2 || arguments[2] === undefined ? function (err, logs) {} : arguments[2];
var self = this;
return new Promise(function (resolve, reject) {
var channelID = channel;
if (channel instanceof Channel) {
channelID = channel.id;
}
request.get(Endpoints.CHANNELS + "/" + channelID + "/messages?limit=" + amount).set("authorization", self.token).end(function (err, res) {
if (err) {
callback(err);
reject(err);
} else {
var logs = [];
var channel = self.getChannel("id", channelID);
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = res.body[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var message = _step.value;
var mentions = [];
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
try {
for (var _iterator2 = message.mentions[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var mention = _step2.value;
mentions.push(self.addUser(mention));
}
} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2["return"]) {
_iterator2["return"]();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
}
}
}
var author = self.addUser(message.author);
logs.push(new Message(message, channel, mentions, author));
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator["return"]) {
_iterator["return"]();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
callback(null, logs);
resolve(logs);
}
});
});
}
}, {
key: "sendMessage",
value: function sendMessage(destination, message) {
@@ -428,27 +512,27 @@ var Client = (function () {
data.mentions = data.mentions || []; //for some reason this was not defined at some point?
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
var _iteratorNormalCompletion3 = true;
var _didIteratorError3 = false;
var _iteratorError3 = undefined;
try {
for (var _iterator = data.mentions[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var mention = _step.value;
for (var _iterator3 = data.mentions[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
var mention = _step3.value;
mentions.push(self.addUser(mention));
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
_didIteratorError3 = true;
_iteratorError3 = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator["return"]) {
_iterator["return"]();
if (!_iteratorNormalCompletion3 && _iterator3["return"]) {
_iterator3["return"]();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
if (_didIteratorError3) {
throw _iteratorError3;
}
}
}
@@ -475,13 +559,13 @@ var Client = (function () {
} else if (destination instanceof User) {
//check if we have a PM
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
var _iteratorNormalCompletion4 = true;
var _didIteratorError4 = false;
var _iteratorError4 = undefined;
try {
for (var _iterator2 = self.pmChannelCache[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var pmc = _step2.value;
for (var _iterator4 = self.pmChannelCache[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
var pmc = _step4.value;
if (pmc.user.equals(destination)) {
return pmc.id;
@@ -490,16 +574,16 @@ var Client = (function () {
//we don't, at this point we're late
} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
_didIteratorError4 = true;
_iteratorError4 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2["return"]) {
_iterator2["return"]();
if (!_iteratorNormalCompletion4 && _iterator4["return"]) {
_iterator4["return"]();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
if (_didIteratorError4) {
throw _iteratorError4;
}
}
}
@@ -525,27 +609,27 @@ var Client = (function () {
function resolveMentions() {
var _mentions = [];
var _iteratorNormalCompletion3 = true;
var _didIteratorError3 = false;
var _iteratorError3 = undefined;
var _iteratorNormalCompletion5 = true;
var _didIteratorError5 = false;
var _iteratorError5 = undefined;
try {
for (var _iterator3 = (message.match(/<@[^>]*>/g) || [])[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
var mention = _step3.value;
for (var _iterator5 = (message.match(/<@[^>]*>/g) || [])[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
var mention = _step5.value;
_mentions.push(mention.substring(2, mention.length - 1));
}
} catch (err) {
_didIteratorError3 = true;
_iteratorError3 = err;
_didIteratorError5 = true;
_iteratorError5 = err;
} finally {
try {
if (!_iteratorNormalCompletion3 && _iterator3["return"]) {
_iterator3["return"]();
if (!_iteratorNormalCompletion5 && _iterator5["return"]) {
_iterator5["return"]();
}
} finally {
if (_didIteratorError3) {
throw _iteratorError3;
if (_didIteratorError5) {
throw _iteratorError5;
}
}
}
@@ -598,52 +682,52 @@ var Client = (function () {
self.user = self.addUser(data.user);
var _iteratorNormalCompletion4 = true;
var _didIteratorError4 = false;
var _iteratorError4 = undefined;
var _iteratorNormalCompletion6 = true;
var _didIteratorError6 = false;
var _iteratorError6 = undefined;
try {
for (var _iterator4 = data.guilds[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
var _server = _step4.value;
for (var _iterator6 = data.guilds[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
var _server = _step6.value;
var server = self.addServer(_server);
}
} catch (err) {
_didIteratorError4 = true;
_iteratorError4 = err;
_didIteratorError6 = true;
_iteratorError6 = err;
} finally {
try {
if (!_iteratorNormalCompletion4 && _iterator4["return"]) {
_iterator4["return"]();
if (!_iteratorNormalCompletion6 && _iterator6["return"]) {
_iterator6["return"]();
}
} finally {
if (_didIteratorError4) {
throw _iteratorError4;
if (_didIteratorError6) {
throw _iteratorError6;
}
}
}
var _iteratorNormalCompletion5 = true;
var _didIteratorError5 = false;
var _iteratorError5 = undefined;
var _iteratorNormalCompletion7 = true;
var _didIteratorError7 = false;
var _iteratorError7 = undefined;
try {
for (var _iterator5 = data.private_channels[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
var _pmc = _step5.value;
for (var _iterator7 = data.private_channels[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
var _pmc = _step7.value;
var pmc = self.addPMChannel(_pmc);
}
} catch (err) {
_didIteratorError5 = true;
_iteratorError5 = err;
_didIteratorError7 = true;
_iteratorError7 = err;
} finally {
try {
if (!_iteratorNormalCompletion5 && _iterator5["return"]) {
_iterator5["return"]();
if (!_iteratorNormalCompletion7 && _iterator7["return"]) {
_iterator7["return"]();
}
} finally {
if (_didIteratorError5) {
throw _iteratorError5;
if (_didIteratorError7) {
throw _iteratorError7;
}
}
}
@@ -662,27 +746,27 @@ var Client = (function () {
var mentions = [];
data.mentions = data.mentions || []; //for some reason this was not defined at some point?
var _iteratorNormalCompletion6 = true;
var _didIteratorError6 = false;
var _iteratorError6 = undefined;
var _iteratorNormalCompletion8 = true;
var _didIteratorError8 = false;
var _iteratorError8 = undefined;
try {
for (var _iterator6 = data.mentions[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
var mention = _step6.value;
for (var _iterator8 = data.mentions[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
var mention = _step8.value;
mentions.push(self.addUser(mention));
}
} catch (err) {
_didIteratorError6 = true;
_iteratorError6 = err;
_didIteratorError8 = true;
_iteratorError8 = err;
} finally {
try {
if (!_iteratorNormalCompletion6 && _iterator6["return"]) {
_iterator6["return"]();
if (!_iteratorNormalCompletion8 && _iterator8["return"]) {
_iterator8["return"]();
}
} finally {
if (_didIteratorError6) {
throw _iteratorError6;
if (_didIteratorError8) {
throw _iteratorError8;
}
}
}
@@ -727,27 +811,27 @@ var Client = (function () {
}
var mentions = [];
var _iteratorNormalCompletion7 = true;
var _didIteratorError7 = false;
var _iteratorError7 = undefined;
var _iteratorNormalCompletion9 = true;
var _didIteratorError9 = false;
var _iteratorError9 = undefined;
try {
for (var _iterator7 = info.mentions[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
var mention = _step7.value;
for (var _iterator9 = info.mentions[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) {
var mention = _step9.value;
mentions.push(self.addUser(mention));
}
} catch (err) {
_didIteratorError7 = true;
_iteratorError7 = err;
_didIteratorError9 = true;
_iteratorError9 = err;
} finally {
try {
if (!_iteratorNormalCompletion7 && _iterator7["return"]) {
_iterator7["return"]();
if (!_iteratorNormalCompletion9 && _iterator9["return"]) {
_iterator9["return"]();
}
} finally {
if (_didIteratorError7) {
throw _iteratorError7;
if (_didIteratorError9) {
throw _iteratorError9;
}
}
}
@@ -959,87 +1043,17 @@ var Client = (function () {
if (!server) {
server = new Server(data, this);
if (data.channels) {
var _iteratorNormalCompletion8 = true;
var _didIteratorError8 = false;
var _iteratorError8 = undefined;
try {
for (var _iterator8 = data.channels[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
var channel = _step8.value;
server.channels.push(this.addChannel(channel, server.id));
}
} catch (err) {
_didIteratorError8 = true;
_iteratorError8 = err;
} finally {
try {
if (!_iteratorNormalCompletion8 && _iterator8["return"]) {
_iterator8["return"]();
}
} finally {
if (_didIteratorError8) {
throw _iteratorError8;
}
}
}
}
this.serverCache.push(server);
}
return server;
}
//def getUser
}, {
key: "getUser",
value: function getUser(key, value) {
var _iteratorNormalCompletion9 = true;
var _didIteratorError9 = false;
var _iteratorError9 = undefined;
try {
for (var _iterator9 = this.userCache[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) {
var user = _step9.value;
if (user[key] === value) {
return user;
}
}
} catch (err) {
_didIteratorError9 = true;
_iteratorError9 = err;
} finally {
try {
if (!_iteratorNormalCompletion9 && _iterator9["return"]) {
_iterator9["return"]();
}
} finally {
if (_didIteratorError9) {
throw _iteratorError9;
}
}
}
return null;
}
//def getChannel
}, {
key: "getChannel",
value: function getChannel(key, value) {
if (data.channels) {
var _iteratorNormalCompletion10 = true;
var _didIteratorError10 = false;
var _iteratorError10 = undefined;
try {
for (var _iterator10 = this.channelCache[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) {
for (var _iterator10 = data.channels[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) {
var channel = _step10.value;
if (channel[key] === value) {
return channel;
}
server.channels.push(this.addChannel(channel, server.id));
}
} catch (err) {
_didIteratorError10 = true;
@@ -1055,22 +1069,26 @@ var Client = (function () {
}
}
}
return this.getPMChannel(key, value); //might be a PM
}
}
return server;
}
//def getUser
}, {
key: "getPMChannel",
value: function getPMChannel(key, value) {
key: "getUser",
value: function getUser(key, value) {
var _iteratorNormalCompletion11 = true;
var _didIteratorError11 = false;
var _iteratorError11 = undefined;
try {
for (var _iterator11 = this.pmChannelCache[Symbol.iterator](), _step11; !(_iteratorNormalCompletion11 = (_step11 = _iterator11.next()).done); _iteratorNormalCompletion11 = true) {
var channel = _step11.value;
for (var _iterator11 = this.userCache[Symbol.iterator](), _step11; !(_iteratorNormalCompletion11 = (_step11 = _iterator11.next()).done); _iteratorNormalCompletion11 = true) {
var user = _step11.value;
if (channel[key] === value) {
return channel;
if (user[key] === value) {
return user;
}
}
} catch (err) {
@@ -1091,20 +1109,20 @@ var Client = (function () {
return null;
}
//def getServer
//def getChannel
}, {
key: "getServer",
value: function getServer(key, value) {
key: "getChannel",
value: function getChannel(key, value) {
var _iteratorNormalCompletion12 = true;
var _didIteratorError12 = false;
var _iteratorError12 = undefined;
try {
for (var _iterator12 = this.serverCache[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
var server = _step12.value;
for (var _iterator12 = this.channelCache[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
var channel = _step12.value;
if (server[key] === value) {
return server;
if (channel[key] === value) {
return channel;
}
}
} catch (err) {
@@ -1122,6 +1140,72 @@ var Client = (function () {
}
}
return this.getPMChannel(key, value); //might be a PM
}
}, {
key: "getPMChannel",
value: function getPMChannel(key, value) {
var _iteratorNormalCompletion13 = true;
var _didIteratorError13 = false;
var _iteratorError13 = undefined;
try {
for (var _iterator13 = this.pmChannelCache[Symbol.iterator](), _step13; !(_iteratorNormalCompletion13 = (_step13 = _iterator13.next()).done); _iteratorNormalCompletion13 = true) {
var channel = _step13.value;
if (channel[key] === value) {
return channel;
}
}
} catch (err) {
_didIteratorError13 = true;
_iteratorError13 = err;
} finally {
try {
if (!_iteratorNormalCompletion13 && _iterator13["return"]) {
_iterator13["return"]();
}
} finally {
if (_didIteratorError13) {
throw _iteratorError13;
}
}
}
return null;
}
//def getServer
}, {
key: "getServer",
value: function getServer(key, value) {
var _iteratorNormalCompletion14 = true;
var _didIteratorError14 = false;
var _iteratorError14 = undefined;
try {
for (var _iterator14 = this.serverCache[Symbol.iterator](), _step14; !(_iteratorNormalCompletion14 = (_step14 = _iterator14.next()).done); _iteratorNormalCompletion14 = true) {
var server = _step14.value;
if (server[key] === value) {
return server;
}
}
} catch (err) {
_didIteratorError14 = true;
_iteratorError14 = err;
} finally {
try {
if (!_iteratorNormalCompletion14 && _iterator14["return"]) {
_iterator14["return"]();
}
} finally {
if (_didIteratorError14) {
throw _iteratorError14;
}
}
}
return null;
}
@@ -1192,27 +1276,27 @@ var Client = (function () {
get: function get() {
var msgs = [];
var _iteratorNormalCompletion13 = true;
var _didIteratorError13 = false;
var _iteratorError13 = undefined;
var _iteratorNormalCompletion15 = true;
var _didIteratorError15 = false;
var _iteratorError15 = undefined;
try {
for (var _iterator13 = this.channelCache[Symbol.iterator](), _step13; !(_iteratorNormalCompletion13 = (_step13 = _iterator13.next()).done); _iteratorNormalCompletion13 = true) {
var channel = _step13.value;
for (var _iterator15 = this.channelCache[Symbol.iterator](), _step15; !(_iteratorNormalCompletion15 = (_step15 = _iterator15.next()).done); _iteratorNormalCompletion15 = true) {
var channel = _step15.value;
msgs = msgs.concat(channel.messages);
}
} catch (err) {
_didIteratorError13 = true;
_iteratorError13 = err;
_didIteratorError15 = true;
_iteratorError15 = err;
} finally {
try {
if (!_iteratorNormalCompletion13 && _iterator13["return"]) {
_iterator13["return"]();
if (!_iteratorNormalCompletion15 && _iterator15["return"]) {
_iterator15["return"]();
}
} finally {
if (_didIteratorError13) {
throw _iteratorError13;
if (_didIteratorError15) {
throw _iteratorError15;
}
}
}

View File

@@ -439,6 +439,51 @@ class Client {
});
}
getChannelLogs(channel, amount = 500, callback = function (err, logs) { }) {
var self = this;
return new Promise(function (resolve, reject) {
var channelID = channel;
if (channel instanceof Channel) {
channelID = channel.id;
}
request
.get(`${Endpoints.CHANNELS}/${channelID}/messages?limit=${amount}`)
.set("authorization", self.token)
.end(function (err, res) {
if (err) {
callback(err);
reject(err);
} else {
var logs = [];
var channel = self.getChannel("id", channelID);
for (var message of res.body) {
var mentions = [];
for(var mention of message.mentions){
mentions.push( self.addUser(mention) );
}
var author = self.addUser(message.author);
logs.push(new Message(message, channel, mentions, author));
}
callback(null, logs);
resolve(logs);
}
});
});
}
sendMessage(destination, message, callback = function (err, msg) { }, premessage = "") {
var self = this;
@@ -859,12 +904,12 @@ class Client {
if (!server) {
server = new Server(data, this);
this.serverCache.push(server);
if (data.channels) {
for (var channel of data.channels) {
server.channels.push(this.addChannel(channel, server.id));
}
}
this.serverCache.push(server);
}
return server;

View File

@@ -22,7 +22,12 @@ mybot.on("message", function (msg) {
console.log(err);
});
mybot.reply(msg, "You know what "+msg.sender+"? NO").then(function(msg){
mybot.updateMessage(msg, "wat");
mybot.updateMessage(msg, "wat i sed nothin m8");
});
mybot.getChannelLogs(msg.channel).then(function(logs){
console.log(logs[0]);
}).catch(function(error){
console.log(error);
});
}