summaryrefslogtreecommitdiff
path: root/server/src
diff options
context:
space:
mode:
authorSin-MacBook <[email protected]>2020-08-24 12:46:18 +0200
committerSin-MacBook <[email protected]>2020-08-24 12:46:18 +0200
commit3ca61de49a532e7114f73e61dfa72b69cbb91269 (patch)
treeaba3b8a0df69d23704759612676927c40058de02 /server/src
parentfeat: serverlist and leaveserver (diff)
downloaddep-core-3ca61de49a532e7114f73e61dfa72b69cbb91269.tar.xz
dep-core-3ca61de49a532e7114f73e61dfa72b69cbb91269.zip
mega cool update ig
- fanart, welcome and goodbye values are now deleted from database once a channel with the corresponding id is deleted. - different guildmemberadd and remove existing checking to hopefully fix errors which keep crashing the bot - if a guild member leaves that is a darling for that guild, they are wiped from the database
Diffstat (limited to 'server/src')
-rw-r--r--server/src/listeners/client/channelDelete.ts29
-rw-r--r--server/src/listeners/client/guildMemberAdd.ts5
-rw-r--r--server/src/listeners/client/guildMemberRemove.ts14
3 files changed, 38 insertions, 10 deletions
diff --git a/server/src/listeners/client/channelDelete.ts b/server/src/listeners/client/channelDelete.ts
index f8c45db..7825096 100644
--- a/server/src/listeners/client/channelDelete.ts
+++ b/server/src/listeners/client/channelDelete.ts
@@ -10,12 +10,33 @@ export default class ChannelDeleteListener extends Listener {
});
}
- public exec(channel: GuildChannel): void {
+ public async exec(channel: GuildChannel): Promise<void> {
if (!channel.guild) return;
const existing = this.client.settings.cache.reactions.filter(r => r.channelID === channel.id);
- if (!existing.size) return;
- for (const c of existing.values()) {
- this.client.settings.set('reaction', { id: c.id }, { active: false });
+ const existingFanart = this.client.settings.cache.guilds.filter(r => r.fanart === channel.id);
+ const existingWelcome = this.client.settings.cache.guilds.filter(r => r.welcome === channel.id);
+ const existingGoodbye = this.client.settings.cache.guilds.filter(r => r.goodbye === channel.id);
+ if (existing.size) {
+ for (const c of existing.values()) {
+ await this.client.settings.set('reaction', { id: c.id }, { active: false });
+ }
}
+ if (existingFanart.size) {
+ for (const c of existing.values()) {
+ await this.client.settings.set('guild', { id: c.id }, { fanart: '' });
+ }
+ }
+ if (existingWelcome.size) {
+ for (const c of existing.values()) {
+ await this.client.settings.set('guild', { id: c.id }, { welcome: '' });
+ }
+ }
+ if (existingGoodbye.size) {
+ for (const c of existing.values()) {
+ await this.client.settings.set('guild', { id: c.id }, { goodbye: '' });
+ }
+ }
+
+ return;
}
}
diff --git a/server/src/listeners/client/guildMemberAdd.ts b/server/src/listeners/client/guildMemberAdd.ts
index d37f3a4..9ffdb85 100644
--- a/server/src/listeners/client/guildMemberAdd.ts
+++ b/server/src/listeners/client/guildMemberAdd.ts
@@ -22,11 +22,12 @@ export default class GuildMemberAddListener extends Listener {
const existing = this.client.settings.cache.guilds.get(member.guild.id);
let hasWelcome = true;
- if (existing === undefined) {
+ /* if (!existing) {
hasWelcome = false;
} else {
if (existing.welcome.length !== 18) hasWelcome = false;
- }
+ } */
+ if (!existing) hasWelcome = false;
if (hasWelcome) {
const secret = Math.floor(Math.random() * 1000);
diff --git a/server/src/listeners/client/guildMemberRemove.ts b/server/src/listeners/client/guildMemberRemove.ts
index b740674..76a8b85 100644
--- a/server/src/listeners/client/guildMemberRemove.ts
+++ b/server/src/listeners/client/guildMemberRemove.ts
@@ -14,14 +14,20 @@ export default class GuildMemberRemoveListener extends Listener {
});
}
- public exec(member: GuildMember): Promise<Message | MessageReaction | void> {
- const existing = this.client.settings.cache.guilds.get(member.guild.id);
+ public async exec(member: GuildMember): Promise<Message | MessageReaction | void> {
+ const existing = this.client.settings.cache.guilds.get(member.guild.id);
+ const existingDarling = this.client.settings.cache.guilds.filter(m => m.fanart === member.id);
+ if (existingDarling.size) {
+ await this.client.settings.set('guild', { id: member.guild.id }, { darling: '' });
+ }
+
let hasGoodbye = true;
- if (existing === undefined) {
+ /* if (existing === undefined) {
hasGoodbye = false;
} else {
if (existing.goodbye.length !== 18) hasGoodbye = false;
- }
+ } */
+ if (!existing) hasGoodbye = false;
if (hasGoodbye) {
const secret = Math.floor(Math.random() * 1000);