Split Phone into it's own manager

This commit is contained in:
Dragon Fire
2021-02-13 19:20:23 -05:00
parent 0ea5152a49
commit 592f770a35
6 changed files with 33 additions and 22 deletions
+23
View File
@@ -0,0 +1,23 @@
const Collection = require('@discordjs/collection');
module.exports = class PhoneManager extends Collection {
constructor(client, options) {
Object.defineProperty(this, 'client', { value: client });
super(options);
}
inCall(channel) {
return this.some(call => call.origin.id === channel.id || call.recipient.id === channel.id);
}
isBlocked(origin, recipient, caller) {
return (recipient.guild && recipient.topic.includes(`<xiao:phone:block:${origin.id}>`))
|| (recipient.guild && recipient.topic.includes(`<xiao:phone:block:${caller.id}>`))
|| (origin.guild && recipient.guild && recipient.topic.includes(`<xiao:phone:block:${origin.guild.id}>`))
|| (origin.guild && origin.topic.includes(`<xiao:phone:block:${recipient.id}>`))
|| (origin.guild && recipient.guild && origin.topic.includes(`<xiao:phone:block:${recipient.guild.id}>`))
|| (origin.guild && origin.topic.includes(`<xiao:phone:block:${caller.id}>`));
}
};