update/stop if nitrado credentials fail to fetch settings
This commit is contained in:
4 files changed
+19
-7
No files matched your search
+2
-1
@@ -1,7 +1,7 @@
|
|||||||
const { EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle, ModalBuilder, TextInputBuilder, TextInputStyle } = require('discord.js');
|
const { EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle, ModalBuilder, TextInputBuilder, TextInputStyle } = require('discord.js');
|
||||||
const CommandOptions = require('../util/CommandOptionTypes').CommandOptionTypes;
|
const CommandOptions = require('../util/CommandOptionTypes').CommandOptionTypes;
|
||||||
const bitfieldCalculator = require('discord-bitfield-calculator');
|
const bitfieldCalculator = require('discord-bitfield-calculator');
|
||||||
const { BanPlayer, UnbanPlayer, RestartServer, CheckServerStatus, DisableBaseDamage, DisableContainerDamage } = require('../util/NitradoAPI');
|
const { BanPlayer, UnbanPlayer, RestartServer, CheckServerStatus, DisableBaseDamage, DisableContainerDamage, NitradoCredentialStatus } = require('../util/NitradoAPI');
|
||||||
const { encrypt, decrypt } = require('../util/Cryptic');
|
const { encrypt, decrypt } = require('../util/Cryptic');
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
@@ -286,6 +286,7 @@ module.exports = {
|
|||||||
client.key,
|
client.key,
|
||||||
client.encryptionIV
|
client.encryptionIV
|
||||||
), // Encrypt the Authentication Token
|
), // Encrypt the Authentication Token
|
||||||
|
Status: NitradoCredentialStatus.OK, // Indicate if these credentials dont work
|
||||||
};
|
};
|
||||||
|
|
||||||
await client.dbo.collection('guilds').updateOne({ "server.serverID": GuildDB.serverID }, { $set: { "Nitrado": Nitrado } }, (err, res) => {
|
await client.dbo.collection('guilds').updateOne({ "server.serverID": GuildDB.serverID }, { $set: { "Nitrado": Nitrado } }, (err, res) => {
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "dayzr-bot",
|
"name": "dayzr-bot",
|
||||||
"version": "13.3.2",
|
"version": "13.3.3",
|
||||||
"description": "A General Purpose Discord Bot for DayZ Nitrado Servers.",
|
"description": "A General Purpose Discord Bot for DayZ Nitrado Servers.",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"nodemonConfig": {
|
"nodemonConfig": {
|
||||||
|
|||||||
+10
-4
@@ -6,7 +6,7 @@ const Logger = require("../util/Logger");
|
|||||||
const crypto = require('crypto');
|
const crypto = require('crypto');
|
||||||
|
|
||||||
// custom util imports
|
// custom util imports
|
||||||
const { DownloadNitradoFile, CheckServerStatus, FetchServerSettings, PostServerSettings } = require('../util/NitradoAPI');
|
const { DownloadNitradoFile, CheckServerStatus, FetchServerSettings, PostServerSettings, NitradoCredentialStatus } = require('../util/NitradoAPI');
|
||||||
const { HandlePlayerLogs, HandleActivePlayersList } = require('../util/LogsHandler');
|
const { HandlePlayerLogs, HandleActivePlayersList } = require('../util/LogsHandler');
|
||||||
const { HandleKillfeed, UpdateLastDeathDate } = require('../util/KillfeedHandler');
|
const { HandleKillfeed, UpdateLastDeathDate } = require('../util/KillfeedHandler');
|
||||||
const { HandleExpiredUAVs, HandleEvents, PlaceFireplaceInAlarm } = require('../util/AlarmsHandler');
|
const { HandleExpiredUAVs, HandleEvents, PlaceFireplaceInAlarm } = require('../util/AlarmsHandler');
|
||||||
@@ -308,6 +308,7 @@ class DayzRBot extends Client {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (!c.exists(GuildDB.Nitrado)) return; // Continue if no nitrado credentials
|
if (!c.exists(GuildDB.Nitrado)) return; // Continue if no nitrado credentials
|
||||||
|
if (GuildDB.Nitrado.Status == NitradoCredentialStatus.FAILED) return; // Continue if these credentials are marked as failed
|
||||||
|
|
||||||
const NitradoCred = {
|
const NitradoCred = {
|
||||||
ServerID: GuildDB.Nitrado.ServerID,
|
ServerID: GuildDB.Nitrado.ServerID,
|
||||||
@@ -317,17 +318,22 @@ class DayzRBot extends Client {
|
|||||||
c.config.EncryptionMethod,
|
c.config.EncryptionMethod,
|
||||||
c.key,
|
c.key,
|
||||||
c.encryptionIV
|
c.encryptionIV
|
||||||
)
|
),
|
||||||
};
|
};
|
||||||
|
|
||||||
const response = await FetchServerSettings(NitradoCred, c, "logsUpdateTimer").then(res => res);
|
const response = await FetchServerSettings(NitradoCred, c, "logsUpdateTimer").then(res => res);
|
||||||
if (response == 1) return;
|
if (response == 1) {
|
||||||
|
c.dbo.collection("guilds").updateOne({"server.serverID": GuildDB.serverID }, {$set: { "Nitrado.Status": NitradoCredentialStatus.FAILED }}, (err, _) => {
|
||||||
|
if (err) this.error(`Failed to update Nitrado status to failed. [${GuildDB.serverID}]`);
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
};
|
||||||
const settings = response.data.gameserver;
|
const settings = response.data.gameserver;
|
||||||
|
|
||||||
// Update Nitrado DayZ Mission if change is detected
|
// Update Nitrado DayZ Mission if change is detected
|
||||||
if (GuildDB.Nitrado.Mission !== Missions[settings.settings.config.mission]) {
|
if (GuildDB.Nitrado.Mission !== Missions[settings.settings.config.mission]) {
|
||||||
c.dbo.collection("guilds").updateOne({"server.serverID": GuildDB.serverID}, {$set: { "Nitrado.Mission": Missions[settings.settings.config.mission] }}, (err, res) => {
|
c.dbo.collection("guilds").updateOne({"server.serverID": GuildDB.serverID}, {$set: { "Nitrado.Mission": Missions[settings.settings.config.mission] }}, (err, res) => {
|
||||||
if (err) this.error(`Failed to save mission to guild config [${guild.serverID}] for nitrado server [${guild.Nitrado.ServerID}]`);
|
if (err) this.error(`Failed to save mission to guild config [${GuildDB.serverID}] for nitrado server [${GuildDB.Nitrado.ServerID}]`);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+6
-1
@@ -301,5 +301,10 @@ module.exports = {
|
|||||||
if (uploaded == 1) return 1;
|
if (uploaded == 1) return 1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
},
|
||||||
|
|
||||||
|
NitradoCredentialStatus: {
|
||||||
|
FAILED: "FAILED",
|
||||||
|
OK: "OK",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user