diff --git a/lib/Client.js b/lib/Client.js index 78c8eeead..c49ea50f0 100644 --- a/lib/Client.js +++ b/lib/Client.js @@ -480,11 +480,12 @@ var Client = (function () { var mention = _ref2; var user = self.addUser(mention); - mentions.push(channel.server.getMember("id", user.id) || user); + if (channel.server) mentions.push(channel.server.getMember("id", user.id) || user);else mentions.push(user); } - var authorRaw = self.addUser(message.author); - var author = channel.server.getMember("id", authorRaw.id) || authorRaw; + var authorRaw = self.addUser(message.author), + author; + if (channel.server) author = channel.server.getMember("id", authorRaw.id) || authorRaw;else author = authorRaw; logs.push(new Message(message, channel, mentions, author)); } @@ -905,7 +906,6 @@ var Client = (function () { data.mentions = data.mentions || []; //for some reason this was not defined at some point? var channel = self.getChannel("id", data.channel_id); - for (var _iterator6 = data.mentions, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) { var _ref6; @@ -921,11 +921,11 @@ var Client = (function () { var mention = _ref6; var user = self.addUser(mention); - mentions.push(channel.server.getMember("id", user.id) || user); + if (channel.server) mentions.push(channel.server.getMember("id", user.id) || user);else mentions.push(user); } if (channel) { - var msg = channel.addMessage(new Message(data, channel, mentions, channel.server.getMember("id", self.addUser(data.author).id))); + var msg = channel.addMessage(new Message(data, channel, mentions, data.author)); self.trigger("message", msg); } @@ -978,7 +978,7 @@ var Client = (function () { var mention = _ref7; var user = self.addUser(mention); - mentions.push(channel.server.getMember("id", user.id) || user); + if (channel.server) mentions.push(channel.server.getMember("id", user.id) || user);else mentions.push(user); } var newMessage = new Message(info, channel, mentions, formerMessage.author); @@ -1578,11 +1578,11 @@ var Client = (function () { var mention = _ref15; var user = self.addUser(mention); - mentions.push(channel.server.getMember("id", user.id) || user); + if (channel.server) mentions.push(channel.server.getMember("id", user.id) || user);else mentions.push(user); } if (channel) { - var msg = channel.addMessage(new Message(data, channel, mentions, channel.server.getMember("id", data.author.id))); + var msg = channel.addMessage(new Message(data, channel, mentions, { id: data.author.id })); resolve(msg); } } diff --git a/src/Client.js b/src/Client.js index 5696eb969..7fa555c23 100644 --- a/src/Client.js +++ b/src/Client.js @@ -519,11 +519,17 @@ class Client { var mentions = []; for (var mention of message.mentions) { var user = self.addUser(mention); - mentions.push(channel.server.getMember("id", user.id) || user); + if(channel.server) + mentions.push(channel.server.getMember("id", user.id) || user); + else + mentions.push(user); } - var authorRaw = self.addUser(message.author); - var author = channel.server.getMember("id", authorRaw.id) || authorRaw; + var authorRaw = self.addUser(message.author), author; + if(channel.server) + author = channel.server.getMember("id", authorRaw.id) || authorRaw; + else + author = authorRaw; logs.push(new Message(message, channel, mentions, author)); } @@ -944,14 +950,16 @@ class Client { data.mentions = data.mentions || []; //for some reason this was not defined at some point? var channel = self.getChannel("id", data.channel_id); - for (var mention of data.mentions) { var user = self.addUser(mention); - mentions.push(channel.server.getMember("id", user.id) || user); + if(channel.server) + mentions.push(channel.server.getMember("id", user.id) || user); + else + mentions.push(user); } if (channel) { - var msg = channel.addMessage(new Message(data, channel, mentions, channel.server.getMember("id", self.addUser(data.author).id))); + var msg = channel.addMessage(new Message(data, channel, mentions, data.author)); self.trigger("message", msg); } @@ -991,7 +999,10 @@ class Client { var mentions = []; for (var mention of data.mentions) { var user = self.addUser(mention); - mentions.push(channel.server.getMember("id", user.id) || user); + if(channel.server) + mentions.push(channel.server.getMember("id", user.id) || user); + else + mentions.push(user); } var newMessage = new Message(info, channel, mentions, formerMessage.author); @@ -1500,11 +1511,14 @@ class Client { for (var mention of data.mentions) { var user = self.addUser(mention); - mentions.push(channel.server.getMember("id", user.id) || user); + if(channel.server) + mentions.push(channel.server.getMember("id", user.id) || user); + else + mentions.push(user); } if (channel) { - var msg = channel.addMessage(new Message(data, channel, mentions, channel.server.getMember("id", data.author.id))); + var msg = channel.addMessage(new Message(data, channel, mentions, {id:data.author.id})); resolve(msg); } } diff --git a/test/bot.1.js b/test/bot.1.js index c54414fc2..5171fc1c6 100644 --- a/test/bot.1.js +++ b/test/bot.1.js @@ -26,12 +26,11 @@ mybot.on("message", function (message) { user = message.sender; } - var perms = JSON.stringify(message.channel.permissionsOf(user).serialise(), null, 4); - perms = JSON.parse(perms); + var typea = message.content.split(" ")[1].toUpperCase(); mybot.createRole( message.channel.server, { - color : Discord.Colors.BLUE, + color : Discord.Colors[typea], manageRoles : true }).then((perm) => { mybot.reply(message, message.sender.server.id)