From 78626d5f834bb34ae7e14ce34cc58bfa29de5644 Mon Sep 17 00:00:00 2001 From: Braeden Sowinski Date: Sat, 1 Jul 2023 10:21:54 -0700 Subject: [PATCH] debug events handler --- commands/event.js | 4 ++-- commands/lookup-discord.js | 2 +- package.json | 2 +- util/AlarmsHandler.js | 32 +++++++++++++++++++------------- 4 files changed, 23 insertions(+), 17 deletions(-) diff --git a/commands/event.js b/commands/event.js index 61a6cdf..bbf5d18 100644 --- a/commands/event.js +++ b/commands/event.js @@ -82,7 +82,7 @@ module.exports = { name: args[0].options[2].value, gamertag: args[0].options[0].value, channel: args[0].options[3].value, - time: args[0].options[1], + time: args[0].options[1].value, creationDate: new Date(), }; @@ -98,7 +98,7 @@ module.exports = { const successCreatePlayerTrack = new EmbedBuilder() .setColor(client.config.Colors.Default) - .setDescription(`**Success:** Successfully created **${event.name}** that will last **${event.time} minutes**`) + .setDescription(`**Success:** Successfully created **${event.name}** that will last **${event.time} minutes.**`) return interaction.send({ embeds: [successCreatePlayerTrack] }); diff --git a/commands/lookup-discord.js b/commands/lookup-discord.js index ca09fae..7bdce1c 100644 --- a/commands/lookup-discord.js +++ b/commands/lookup-discord.js @@ -52,7 +52,7 @@ module.exports = { let notFound = new EmbedBuilder() .setColor(client.config.Colors.Default) - .setDescription(`**Record Not Found**\n/ The gamertag \` ${playerStat.gamertag} \` currently has no linked Discord account.`); + .setDescription(`**Record Not Found**\n The gamertag \` ${playerStat.gamertag} \` currently has no linked Discord account.`); return interaction.send({ embeds: [notFound] }) }, diff --git a/package.json b/package.json index a44f4c2..84e0123 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dayz-armbands", - "version": "8.2.2", + "version": "8.2.3", "description": "A General Purpose Discord Bot for DayZ Servers.", "main": "index.js", "nodemonConfig": { diff --git a/util/AlarmsHandler.js b/util/AlarmsHandler.js index d246eb2..0d02456 100644 --- a/util/AlarmsHandler.js +++ b/util/AlarmsHandler.js @@ -125,9 +125,23 @@ module.exports = { } }, + ExpireEvent: async(client, guild, e) => { + let hasMR = (guild.memberRole != ""); + const channel = client.channels.cache.get(e.channel); + if (client.exists(e.channel)) channel.send({ embeds: [new EmbedBuilder().setColor(client.colors.Default).setDescription(`${hasMR ? `<@&${guild.memberRole}>\n`:''}**The ${e.name} Event has ended!**`)] }); + + client.dbo.collection("guilds").updateOne({ "server.serverID": guild.serverID }, { + $pull: { + "server.events": e + } + }, function(err, res) { + if (err) return client.sendInternalError(interaction, err); + }); + } + HandlePlayerTrackEvent: async (client, guild, e) => { - let player = GuildDB.playerstats.find(stat => stat.gamertag == e.gamertag ); + let player = guild.playerstats.find(stat => stat.gamertag == e.gamertag ); let hasMR = (guild.memberRole != "") let newDt = await client.getDateEST(player.time); @@ -137,23 +151,15 @@ module.exports = { .setColor(client.config.Colors.Default) .setDescription(`**${e.name} Event**${hasMR ? `\n<@&${guild.memberRole}>`:''}\n${e.gamertag} was located at **[${player.pos[0]}, ${player.pos[1]}](https://www.izurvive.com/chernarusplussatmap/#location=${player.pos[0]};${player.pos[1]})** at `); - if (client.exists(e.channel)) await e.channel.send({ embeds: [trackEvent] }); + if (!client.exists(e.channel)) return ExpireEvent(client, guild, e); // Expire event since it has invalid channel. + const channel = client.channels.cache.get(e.channel); + channel.send({ embeds: [trackEvent] }); let now = new Date(); let diff = ((now - e.creationDate) / 1000) / 60; let minutesBetweenDates = Math.abs(Math.round(diff)); - if (minutesBetweenDates >= e.time) { - if (client.exists(e.channel)) e.channel.send({ embeds: [new EmbedBuilder().setColor(client.colors.Default).setDescription(`${hasMR ? `<@&${guild.memberRole}>\n`:''}**The ${e.name} Event has ended!**`)] }); - - client.dbo.collection("guilds").updateOne({ "server.serverID": GuildDB.serverID }, { - $pull: { - "server.events": e - } - }, function(err, res) { - if (err) return client.sendInternalError(interaction, err); - }); - } + if (minutesBetweenDates >= e.time) ExpireEvent(client, guild, e); }, HandleEvents: async (client, guildId) => {