Change message.mentions to a Map

This commit is contained in:
Amish Shah
2016-08-22 19:45:27 +01:00
parent 59cc02de89
commit cf34f253cb
3 changed files with 19 additions and 15 deletions

File diff suppressed because one or more lines are too long

View File

@@ -74,10 +74,10 @@ class Message {
*/
this.attachments = data.attachments;
/**
* A list of users mentioned in the message
* @type {Array<User>}
* A map of users mentioned in the message, the key is the user ID.
* @type {Map<String, User>}
*/
this.mentions = [];
this.mentions = new Map();
/**
* The ID of the message (unique in the channel it was sent)
* @type {String}
@@ -86,10 +86,10 @@ class Message {
for (const mention of data.mentions) {
let user = this.client.users.get(mention.id);
if (user) {
this.mentions.push(user);
this.mentions.set(user.id, user);
} else {
user = this.client.dataManager.newUser(mention);
this.mentions.push(user);
this.mentions.set(user.id, user);
}
}
}
@@ -126,10 +126,10 @@ class Message {
for (const mention of data.mentions) {
let user = this.client.users.get(mention.id);
if (user) {
this.mentions.push(user);
this.mentions.set(user.id, user);
} else {
user = this.client.dataManager.newUser(mention);
this.mentions.push(user);
this.mentions.set(user.id, user);
}
}
}

View File

@@ -178,12 +178,16 @@ client.on('messageUpdate', (old, message) => {
});
client.on('message', msg => {
if (msg.content.startsWith('yoing')) {
let startTime = Date.now();
msg.channel.sendMessage("Let's see if this works")
.then(message => {
let endTime = Date.now();
message.edit(`Ping took ${(endTime - startTime).toFixed(3)} ms. I think.`).catch(console.error);
}).catch(console.error);
if (msg.content.startsWith('?raw')) {
msg.channel.sendMessage('```' + msg.content + '```');
}
if (msg.content.startsWith('?eval') && msg.author.id === '66564597481480192') {
try {
const com = eval(msg.content.split(" ").slice(1).join(" "));
msg.channel.sendMessage('```\n' + com + '```');
} catch(e) {
msg.channel.sendMessage('```\n' + e + '```');
}
}
});