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.user = client.getUser("id", data.recipient.id);
this.id = data.id; this.id = data.id;
this.messages = []; this.messages = [];
this.client = client;
} }
_createClass(PMChannel, [{ _createClass(PMChannel, [{

View File

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

View File

@@ -20,7 +20,13 @@ var Message = (function () {
this.editedTimestamp = data.edited_timestamp; this.editedTimestamp = data.edited_timestamp;
this.content = data.content.trim(); this.content = data.content.trim();
this.channel = channel; 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; this.attachments = data.attachments;
} }

View File

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

View File

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

View File

@@ -11,11 +11,10 @@ class Channel {
this.messages = []; this.messages = [];
this.roles = []; this.roles = [];
for (var role of data.permission_overwrites) { if(data.permission_overwrites)
for (var role of data.permission_overwrites) {
this.roles.push( new ChannelPermissions(role, this) ); this.roles.push( new ChannelPermissions(role, this) );
}
}
//this.isPrivate = isPrivate; //not sure about the implementation of 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.editedTimestamp = data.edited_timestamp;
this.content = data.content.trim(); this.content = data.content.trim();
this.channel = channel; 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; this.attachments = data.attachments;
} }

View File

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