mirror of
https://github.com/danbulant/discord.js
synced 2026-07-07 20:20:55 +00:00
Moved _cacheMessage to TextBasedChannel to avoid repeating code
This commit is contained in:
parent
4f4ec3146b
commit
4400eb1b5c
4 changed files with 30 additions and 37 deletions
File diff suppressed because one or more lines are too long
|
|
@ -13,22 +13,6 @@ class DMChannel extends Channel {
|
||||||
this.messages = new Map();
|
this.messages = new Map();
|
||||||
}
|
}
|
||||||
|
|
||||||
_cacheMessage(message) {
|
|
||||||
const maxSize = this.client.options.max_message_cache;
|
|
||||||
if (maxSize === 0) {
|
|
||||||
// saves on performance
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.messages.size >= maxSize) {
|
|
||||||
this.messages.delete(Array.from(this.messages.keys())[0]);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.messages.set(message.id, message);
|
|
||||||
|
|
||||||
return message;
|
|
||||||
}
|
|
||||||
|
|
||||||
setup(data) {
|
setup(data) {
|
||||||
super.setup(data);
|
super.setup(data);
|
||||||
/**
|
/**
|
||||||
|
|
@ -59,8 +43,12 @@ class DMChannel extends Channel {
|
||||||
sendTTSMessage() {
|
sendTTSMessage() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_cacheMessage() {
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TextBasedChannel.applyToClass(DMChannel);
|
TextBasedChannel.applyToClass(DMChannel, true);
|
||||||
|
|
||||||
module.exports = DMChannel;
|
module.exports = DMChannel;
|
||||||
|
|
|
||||||
|
|
@ -13,22 +13,6 @@ class TextChannel extends GuildChannel {
|
||||||
this.messages = new Map();
|
this.messages = new Map();
|
||||||
}
|
}
|
||||||
|
|
||||||
_cacheMessage(message) {
|
|
||||||
const maxSize = this.client.options.max_message_cache;
|
|
||||||
if (maxSize === 0) {
|
|
||||||
// saves on performance
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.messages.size >= maxSize) {
|
|
||||||
this.messages.delete(Array.from(this.messages.keys())[0]);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.messages.set(message.id, message);
|
|
||||||
|
|
||||||
return message;
|
|
||||||
}
|
|
||||||
|
|
||||||
sendMessage() {
|
sendMessage() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -36,8 +20,12 @@ class TextChannel extends GuildChannel {
|
||||||
sendTTSMessage() {
|
sendTTSMessage() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_cacheMessage() {
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TextBasedChannel.applyToClass(TextChannel);
|
TextBasedChannel.applyToClass(TextChannel, true);
|
||||||
|
|
||||||
module.exports = TextChannel;
|
module.exports = TextChannel;
|
||||||
|
|
|
||||||
|
|
@ -38,14 +38,31 @@ class TextBasedChannel {
|
||||||
sendTTSMessage(content) {
|
sendTTSMessage(content) {
|
||||||
return this.client.rest.methods.sendMessage(this, content, true);
|
return this.client.rest.methods.sendMessage(this, content, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_cacheMessage(message) {
|
||||||
|
const maxSize = this.client.options.max_message_cache;
|
||||||
|
if (maxSize === 0) {
|
||||||
|
// saves on performance
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.messages.size >= maxSize) {
|
||||||
|
this.messages.delete(Array.from(this.messages.keys())[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.messages.set(message.id, message);
|
||||||
|
|
||||||
|
return message;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function applyProp(structure, prop) {
|
function applyProp(structure, prop) {
|
||||||
structure.prototype[prop] = TextBasedChannel.prototype[prop];
|
structure.prototype[prop] = TextBasedChannel.prototype[prop];
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.applyToClass = structure => {
|
exports.applyToClass = (structure, full = false) => {
|
||||||
for (const prop of ['sendMessage', 'sendTTSMessage']) {
|
const props = full ? ['sendMessage', 'sendTTSMessage', '_cacheMessage'] : ['sendMessage', 'sendTTSMessage'];
|
||||||
|
for (const prop of props) {
|
||||||
applyProp(structure, prop);
|
applyProp(structure, prop);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue