Fixed PM Channel bug, 3.8.2

Clients no longer crashed when receiving PM channel messages.
This commit is contained in:
hydrabolt
2015-10-10 11:43:31 +01:00
parent 15b78b0108
commit 3578178941
8 changed files with 43 additions and 34 deletions

View File

@@ -11,6 +11,7 @@ var PMChannel = (function () {
this.user = client.getUser("id", data.recipient.id);
this.id = data.id;
this.messages = [];
this.client = client;
}
_createClass(PMChannel, [{

View File

@@ -18,32 +18,32 @@ var Channel = (function () {
this.messages = [];
this.roles = [];
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
if (data.permission_overwrites) {
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = data.permission_overwrites[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var role = _step.value;
this.roles.push(new ChannelPermissions(role, this));
}
//this.isPrivate = isPrivate; //not sure about the implementation of this...
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator["return"]) {
_iterator["return"]();
for (var _iterator = data.permission_overwrites[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var role = _step.value;
this.roles.push(new ChannelPermissions(role, this));
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
if (_didIteratorError) {
throw _iteratorError;
try {
if (!_iteratorNormalCompletion && _iterator["return"]) {
_iterator["return"]();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
}
} //this.isPrivate = isPrivate; //not sure about the implementation of this...
}
_createClass(Channel, [{

View File

@@ -20,7 +20,13 @@ var Message = (function () {
this.editedTimestamp = data.edited_timestamp;
this.content = data.content.trim();
this.channel = channel;
this.author = this.channel.server.getMember("id", author.id);
if (this.isPrivate) {
this.author = this.channel.client.getUser("id", author.id);
} else {
this.author = this.channel.server.getMember("id", author.id) || this.channel.client.getUser("id", author.id);
}
this.attachments = data.attachments;
}

View File

@@ -1,6 +1,6 @@
{
"name": "discord.js",
"version": "3.8.1",
"version": "3.8.2",
"description": "A way to interface with the Discord API",
"main": "./lib/index.js",
"scripts": {

View File

@@ -3,6 +3,7 @@ class PMChannel {
this.user = client.getUser("id", data.recipient.id);
this.id = data.id;
this.messages = [];
this.client = client;
}
addMessage(data){

View File

@@ -11,11 +11,10 @@ class Channel {
this.messages = [];
this.roles = [];
for (var role of data.permission_overwrites) {
this.roles.push( new ChannelPermissions(role, this) );
}
if(data.permission_overwrites)
for (var role of data.permission_overwrites) {
this.roles.push( new ChannelPermissions(role, this) );
}
//this.isPrivate = isPrivate; //not sure about the implementation of this...
}

View File

@@ -12,7 +12,13 @@ class Message{
this.editedTimestamp = data.edited_timestamp;
this.content = data.content.trim();
this.channel = channel;
this.author = this.channel.server.getMember("id", author.id);
if(this.isPrivate){
this.author = this.channel.client.getUser("id", author.id);
}else{
this.author = this.channel.server.getMember("id", author.id) || this.channel.client.getUser("id", author.id);
}
this.attachments = data.attachments;
}

View File

@@ -22,13 +22,9 @@ mybot.on("message", function (message) {
user = message.sender;
}
console.log("the ID is ", user.id);
console.log( mybot.getUser("username", "meew0") );
for(key in message.channel.permissionsOf(user)){
console.log(key);
}
mybot.reply(message, user + "'s evaluated permissions in this channel are " + message.channel.permissionsOf(user).sendTTSMessages);
mybot.reply(message, JSON.stringify(message.mentions, null, 4));
});