auto clean whitespace
This commit is contained in:
38 files changed
+1446
-1446
No files matched your search
+1
-1
@@ -409,4 +409,4 @@ module.exports = {
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
+15
-15
@@ -15,11 +15,11 @@ const generateAlarmMenus = (alarms, customId, placeholder, description) => {
|
||||
currentAlarmComponents.addOptions({
|
||||
label: alarm.name,
|
||||
description: description,
|
||||
value: alarm.name,
|
||||
value: alarm.name,
|
||||
});
|
||||
});
|
||||
alarmComponents.push(new ActionRowBuilder().addComponents(currentAlarmComponents));
|
||||
id++;
|
||||
id++;
|
||||
}
|
||||
|
||||
return alarmComponents;
|
||||
@@ -34,7 +34,7 @@ module.exports = {
|
||||
permissions: {
|
||||
channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"],
|
||||
member: ["MANAGE_GUILD"],
|
||||
},
|
||||
},
|
||||
options: [
|
||||
{
|
||||
name: "create",
|
||||
@@ -229,7 +229,7 @@ module.exports = {
|
||||
* @param {string[]} args
|
||||
* @param {*} param3
|
||||
*/
|
||||
run: async (client, interaction, args, { GuildDB }) => {
|
||||
run: async (client, interaction, args, { GuildDB }) => {
|
||||
const permissions = bitfieldCalculator.permissions(interaction.member.permissions);
|
||||
let canUseCommand = false;
|
||||
|
||||
@@ -293,9 +293,9 @@ module.exports = {
|
||||
return interaction.send({ components: alarmComponents, flags: (1 << 6) });
|
||||
|
||||
} else if (args[0].name == 'add-player' || args[0].name == 'remove-player') {
|
||||
|
||||
|
||||
const add = args[0].name == 'add-player';
|
||||
|
||||
|
||||
if (GuildDB.alarms.length == 0) return interaction.send({ embeds: [new EmbedBuilder().setColor(client.config.Colors.Default).setDescription(`**Notice:** No Existing Alarms to ${add?'Add':'Remove'} Player ${add?'to':'from'}.`)] });
|
||||
|
||||
const alarmComponents = generateAlarmMenus(
|
||||
@@ -422,7 +422,7 @@ module.exports = {
|
||||
|
||||
if (interaction.customId.split('-')[1] == 'yes') {
|
||||
let alarm = GuildDB.alarms.find(alarm => alarm.name == interaction.customId.split('-')[2]);
|
||||
|
||||
|
||||
client.dbo.collection('guilds').updateOne({ 'server.serverID': GuildDB.serverID }, {
|
||||
$pull: {
|
||||
'server.alarms': alarm,
|
||||
@@ -430,17 +430,17 @@ module.exports = {
|
||||
}, (err, res) => {
|
||||
if (err) return client.sendInternalError(interaction, err);
|
||||
});
|
||||
|
||||
|
||||
let successEmbed = new EmbedBuilder()
|
||||
.setColor(client.config.Colors.Green)
|
||||
.setDescription(`**Success:** Successfully Deleted **${interaction.customId.split('-')[2]}**`);
|
||||
|
||||
|
||||
return interaction.update({ embeds: [successEmbed], components: [] });
|
||||
} else {
|
||||
let successEmbed = new EmbedBuilder()
|
||||
.setColor(client.config.Colors.Green)
|
||||
.setDescription(`The Zone Alarm **${interaction.customId.split('-')[2]}** will not be deleted.`);
|
||||
|
||||
|
||||
return interaction.update({ embeds: [successEmbed], components: []});
|
||||
}
|
||||
}
|
||||
@@ -449,14 +449,14 @@ module.exports = {
|
||||
run: async(client, interaction, GuildDB) => {
|
||||
let alarm = GuildDB.alarms.find(alarm => alarm.name == interaction.values[0]);
|
||||
let alarmIndex = GuildDB.alarms.indexOf(alarm);
|
||||
|
||||
|
||||
let playerStat = await client.dbo.collection("players").findOne({"gamertag": interaction.customId.split('-')[2]});
|
||||
if (!client.exists(playerStat)) return interaction.update({ embeds: [new EmbedBuilder().setColor(client.config.Colors.Yellow).setDescription('**Not Found** This player cannot be found, the gamertag may be incorrect or this player has not logged onto the server before.')], components: [] });
|
||||
|
||||
|
||||
let add = interaction.customId.split('-')[1] == 'add';
|
||||
|
||||
if (add) alarm.ignoredPlayers.push(playerStat.playerID);
|
||||
else alarm.ignoredPlayers = alarm.ignoredPlayers.filter((v) => {
|
||||
else alarm.ignoredPlayers = alarm.ignoredPlayers.filter((v) => {
|
||||
return v != playerStat.playerID;
|
||||
});
|
||||
|
||||
@@ -514,7 +514,7 @@ module.exports = {
|
||||
value: alarm.rules[i]
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
const opt = new ActionRowBuilder().addComponents(alarmRules);
|
||||
|
||||
return interaction.update({ components: [opt], flags: (1 << 6) });
|
||||
@@ -642,5 +642,5 @@ module.exports = {
|
||||
return interaction.update({ embeds: [successEmbed], components: [] });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -22,12 +22,12 @@ module.exports = {
|
||||
*/
|
||||
run: async (client, interaction, args, { GuildDB }) => {
|
||||
if (GuildDB.customChannelStatus==true&&!GuildDB.allowedChannels.includes(interaction.channel_id))
|
||||
return interaction.send({ content: `You are not allowed to use the bot in this channel.`, flags: (1 << 6) });
|
||||
|
||||
return interaction.send({ content: `You are not allowed to use the bot in this channel.`, flags: (1 << 6) });
|
||||
|
||||
let available = new StringSelectMenuBuilder()
|
||||
.setCustomId(`View-1-${interaction.member.user.id}`)
|
||||
.setPlaceholder('View an armband from list 1')
|
||||
|
||||
|
||||
let availableNext = new StringSelectMenuBuilder()
|
||||
.setCustomId(`View-2-${interaction.member.user.id}`)
|
||||
.setPlaceholder('View an armband from list 2')
|
||||
@@ -55,7 +55,7 @@ module.exports = {
|
||||
if (tracker > 25) {
|
||||
opt2 = new ActionRowBuilder().addComponents(availableNext);
|
||||
compList.push(opt2);
|
||||
}
|
||||
}
|
||||
|
||||
return interaction.send({ components: compList, flags: (1 << 6) });
|
||||
},
|
||||
|
||||
+4
-4
@@ -64,7 +64,7 @@ module.exports = {
|
||||
}
|
||||
|
||||
let banking = await client.dbo.collection("users").findOne({"user.userID": interaction.member.user.id}).then(banking => banking);
|
||||
|
||||
|
||||
if (!banking) {
|
||||
banking = await createUser(interaction.member.user.id, GuildDB.serverID, GuildDB.startingBalance, client)
|
||||
if (!client.exists(banking)) return client.sendInternalError(interaction, err);
|
||||
@@ -91,7 +91,7 @@ module.exports = {
|
||||
if (!client.exists(banking)) return client.sendInternalError(interaction, err);
|
||||
}
|
||||
targetUserBanking = targetUserBanking.user;
|
||||
|
||||
|
||||
if (!client.exists(targetUserBanking.guilds[GuildDB.serverID])) {
|
||||
const success = addUser(banking.guilds, GuildDB.serverID, targetUserID, client, GuildDB.startingBalance);
|
||||
if (!success) return client.sendInternalError(interaction, 'Failed to add bank');
|
||||
@@ -141,7 +141,7 @@ module.exports = {
|
||||
if (!client.exists(banking)) return client.sendInternalError(interaction, err);
|
||||
}
|
||||
targetUserBanking = targetUserBanking.user;
|
||||
|
||||
|
||||
if (!client.exists(targetUserBanking.guilds[GuildDB.serverID])) {
|
||||
const success = addUser(banking.guilds, GuildDB.serverID, targetUserID, client, GuildDB.startingBalance);
|
||||
if (!success) return client.sendInternalError(interaction, 'Failed to add bank');
|
||||
@@ -162,4 +162,4 @@ module.exports = {
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
+11
-11
@@ -70,7 +70,7 @@ module.exports = {
|
||||
let banking;
|
||||
if (args[0].name == 'set' || args[0].name == 'pay') {
|
||||
banking = await client.dbo.collection("users").findOne({"user.userID": interaction.member.user.id}).then(banking => banking);
|
||||
|
||||
|
||||
if (!banking) {
|
||||
banking = await createUser(interaction.member.user.id, GuildDB.serverID, GuildDB.startingBalance, client)
|
||||
if (!client.exists(banking)) return client.sendInternalError(interaction, err);
|
||||
@@ -87,7 +87,7 @@ module.exports = {
|
||||
|
||||
let playerStat = await client.dbo.collection("players").findOne({"gamertag": args[0].options[0].value});
|
||||
if (!client.exists(playerStat)) return interaction.send({ embeds: [new EmbedBuilder().setColor(client.config.Colors.Yellow).setDescription('**Not Found** This player cannot be found, the gamertag may be incorrect or this player has not logged onto the server before for at least ` 5 minutes `.')] });
|
||||
|
||||
|
||||
if (args[0].options[1].value > banking.guilds[GuildDB.serverID].balance) {
|
||||
let nsf = new EmbedBuilder()
|
||||
.setDescription('**Bank Notice:** NSF. Non sufficient funds')
|
||||
@@ -97,7 +97,7 @@ module.exports = {
|
||||
}
|
||||
|
||||
const newBalance = banking.guilds[GuildDB.serverID].balance - args[0].options[1].value;
|
||||
|
||||
|
||||
client.dbo.collection("users").updateOne({ "user.userID": interaction.member.user.id }, {
|
||||
$set: {
|
||||
[`user.guilds.${GuildDB.serverID}.balance`]: newBalance,
|
||||
@@ -115,24 +115,24 @@ module.exports = {
|
||||
playerStat.bountiesLength = playerStat.bounties.length; // Will ensure bounties length = # of bounties, even if bountiesLength does not exists in player stat.
|
||||
|
||||
await UpdatePlayer(client, playerStat, interaction);
|
||||
|
||||
|
||||
const successEmbed = new EmbedBuilder()
|
||||
.setTitle('Success')
|
||||
.setDescription(`Successfully set a **$${args[0].options[1].value.toFixed(2).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}** bounty on \` ${playerStat.gamertag} \`\nThis can be viewed using </bounty view:1086786904671924267>`)
|
||||
.setColor(client.config.Colors.Green);
|
||||
|
||||
|
||||
return interaction.send({ embeds: [successEmbed], flags: (1 << 6) });
|
||||
|
||||
} else if (args[0].name == 'pay') {
|
||||
|
||||
let playerStat = await client.dbo.collection("players").findOne({"discordID": interaction.member.user.id});
|
||||
if (!client.exists(playerStat)) return interaction.send({ embeds: [new EmbedBuilder().setColor(client.config.Colors.Yellow).setDescription('**Not Found** Your user ID could not be found, contact an Admin.')] });
|
||||
|
||||
|
||||
if (playerStat.bounties.length == 0) {
|
||||
const noBounty = new EmbedBuilder()
|
||||
.setColor(client.config.Colors.Yellow)
|
||||
.setDescription(`You have no bounties to pay off.`)
|
||||
|
||||
|
||||
return interaction.send({ embeds: [noBounty] });
|
||||
}
|
||||
|
||||
@@ -150,14 +150,14 @@ module.exports = {
|
||||
}
|
||||
|
||||
const newBalance = banking.guilds[GuildDB.serverID].balance - (totalBounty * 2);
|
||||
|
||||
|
||||
await client.dbo.collection("users").updateOne({"user.userID":interaction.member.user.id},{$set:{[`user.guilds.${GuildDB.serverID}.balance`]:newBalance}}, (err, res) => {
|
||||
if (err) return client.sendInternalError(interaction, err);
|
||||
});
|
||||
|
||||
playerStat.bounties = [];
|
||||
playerStat.bountiesLength = 0;
|
||||
|
||||
|
||||
await UpdatePlayer(client, playerStat, interaction);
|
||||
|
||||
const payedOff = new EmbedBuilder()
|
||||
@@ -171,7 +171,7 @@ module.exports = {
|
||||
const activeBounties = await client.dbo.collection("players").find({
|
||||
"bountiesLength": { $gt: 0 }
|
||||
}).toArray();
|
||||
|
||||
|
||||
let bountiesEmbed = new EmbedBuilder()
|
||||
.setColor(client.config.Colors.Default)
|
||||
.setDescription('**Active Boutnies**');
|
||||
@@ -187,4 +187,4 @@ module.exports = {
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
+9
-9
@@ -52,7 +52,7 @@ module.exports = {
|
||||
const warnArmbadChange = new EmbedBuilder()
|
||||
.setColor(client.config.Colors.Yellow)
|
||||
.setDescription(`**Notice:**\n> The faction <@&${args[0].value}> already has an armband selected. Are you sure you would like to change this?`)
|
||||
|
||||
|
||||
const opt = new ActionRowBuilder()
|
||||
.addComponents(
|
||||
new ButtonBuilder()
|
||||
@@ -71,7 +71,7 @@ module.exports = {
|
||||
let available = new StringSelectMenuBuilder()
|
||||
.setCustomId(`Claim-${args[0].value}-1-${interaction.member.user.id}`)
|
||||
.setPlaceholder('Select an armband from list 1 to claim')
|
||||
|
||||
|
||||
let availableNext = new StringSelectMenuBuilder()
|
||||
.setCustomId(`Claim-${args[0].value}-2-${interaction.member.user.id}`)
|
||||
.setPlaceholder('Select an armband from list 2 to claim')
|
||||
@@ -98,7 +98,7 @@ module.exports = {
|
||||
if (tracker > 25) {
|
||||
opt2 = new ActionRowBuilder().addComponents(availableNext);
|
||||
compList.push(opt2);
|
||||
}
|
||||
}
|
||||
|
||||
return interaction.send({ components: compList });
|
||||
},
|
||||
@@ -106,7 +106,7 @@ module.exports = {
|
||||
Interactions: {
|
||||
Claim: {
|
||||
run: async (client, interaction, GuildDB) => {
|
||||
if (!interaction.customId.endsWith(interaction.member.user.id))
|
||||
if (!interaction.customId.endsWith(interaction.member.user.id))
|
||||
return interaction.reply({ content: 'This interaction is not for you', flags: (1 << 6) });
|
||||
|
||||
let factionID = interaction.customId.split('-')[1];
|
||||
@@ -134,7 +134,7 @@ module.exports = {
|
||||
if (err) return client.sendInternalError(interaction, err);
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
client.dbo.collection("guilds").updateOne({'server.serverID': GuildDB.serverID}, query, (err, res) => {
|
||||
if (err) return client.sendInternalError(interaction, err);
|
||||
})
|
||||
@@ -159,14 +159,14 @@ module.exports = {
|
||||
|
||||
ChangeArmband: {
|
||||
run: async (client, interaction, GuildDB) => {
|
||||
if (!interaction.customId.endsWith(interaction.member.user.id))
|
||||
if (!interaction.customId.endsWith(interaction.member.user.id))
|
||||
return interaction.reply({ content: 'This interaction is not for you', flags: (1 << 6) });
|
||||
|
||||
if (interaction.customId.split('-')[1]=='yes') {
|
||||
let available = new StringSelectMenuBuilder()
|
||||
.setCustomId(`Claim-${interaction.customId.split('-')[2]}-update-1-${interaction.member.user.id}`)
|
||||
.setPlaceholder('Select an armband from list 1 to claim')
|
||||
|
||||
|
||||
let availableNext = new StringSelectMenuBuilder()
|
||||
.setCustomId(`Claim-${interaction.customId.split('-')[2]}-update-2-${interaction.member.user.id}`)
|
||||
.setPlaceholder('Select an armband from list 2 to claim')
|
||||
@@ -193,9 +193,9 @@ module.exports = {
|
||||
if (tracker > 25) {
|
||||
opt2 = new ActionRowBuilder().addComponents(availableNext);
|
||||
compList.push(opt2);
|
||||
}
|
||||
}
|
||||
|
||||
return interaction.update({ embeds: [], components: compList });
|
||||
return interaction.update({ embeds: [], components: compList });
|
||||
|
||||
} else {
|
||||
const cancel = new EmbedBuilder()
|
||||
|
||||
@@ -22,7 +22,7 @@ module.exports = {
|
||||
*/
|
||||
run: async (client, interaction, args, { GuildDB }) => {
|
||||
if (GuildDB.customChannelStatus==true&&!GuildDB.allowedChannels.includes(interaction.channel_id)) {
|
||||
return interaction.send({ content: `You are not allowed to use the bot in this channel.`, flags: (1 << 6) });
|
||||
return interaction.send({ content: `You are not allowed to use the bot in this channel.`, flags: (1 << 6) });
|
||||
}
|
||||
|
||||
const hasIncomeRole = GuildDB.incomeRoles.some(data => {
|
||||
@@ -41,7 +41,7 @@ module.exports = {
|
||||
|
||||
let banking = await client.dbo.collection("users").findOne({"user.userID": interaction.member.user.id}).then(banking => banking);
|
||||
|
||||
|
||||
|
||||
if (!banking) {
|
||||
banking = await createUser(interaction.member.user.id, GuildDB.serverID, GuildDB.startingBalance, client)
|
||||
if (!client.exists(banking)) return client.sendInternalError(interaction, err);
|
||||
@@ -54,7 +54,7 @@ module.exports = {
|
||||
}
|
||||
|
||||
if (!client.exists(banking.guilds[GuildDB.serverID].lastIncome)) banking.guilds[GuildDB.serverID].lastIncome = new Date('2000-01-01T00:00:00');
|
||||
|
||||
|
||||
let now = new Date();
|
||||
let diff = (now - banking.guilds[GuildDB.serverID].lastIncome) / 1000;
|
||||
diff /= (60 * 60);
|
||||
@@ -96,7 +96,7 @@ module.exports = {
|
||||
date.setHours(date.getHours() + GuildDB.incomeLimiter);
|
||||
diff = (date - now) / 1000;
|
||||
let timeTillIncome = client.secondsToDhms(diff);
|
||||
|
||||
|
||||
const error = new EmbedBuilder()
|
||||
.setColor(client.config.Colors.Red)
|
||||
.setDescription(`You've already collected your income this week. Wait **${timeTillIncome}** to collect again.`);
|
||||
@@ -105,4 +105,4 @@ module.exports = {
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -53,7 +53,7 @@ module.exports = {
|
||||
|
||||
let comp;
|
||||
if (discord) comp = leaderboard.find(s => s.discordID == discord);
|
||||
if (gamertag) comp = leaderboard.find(s => s.gamertag == gamertag);
|
||||
if (gamertag) comp = leaderboard.find(s => s.gamertag == gamertag);
|
||||
let self = leaderboard.find(s => s.discordID == interaction.member.user.id);
|
||||
|
||||
if (!client.exists(comp)) return interaction.send({ embeds: [new EmbedBuilder().setColor(client.config.Colors.Yellow).setDescription(`**Not Found** Unable to find any records with the gamertag or user provided.`)] });
|
||||
@@ -90,7 +90,7 @@ module.exports = {
|
||||
const diff = Math.abs(selfData.length - compData.length);
|
||||
if (selfData.length < compData.length) selfData.unshift(...(new Array(diff).fill(null, 0, diff)));
|
||||
if (compData.length < selfData.length) compData.unshift(...(new Array(diff).fill(null, 0, diff)));
|
||||
|
||||
|
||||
const chart = {
|
||||
type: 'line',
|
||||
data: {
|
||||
@@ -131,7 +131,7 @@ module.exports = {
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
const encodedChart = encodeURIComponent(JSON.stringify(chart));
|
||||
const chartURL = `https://quickchart.io/chart?c=${encodedChart}&bkg=${encodeURIComponent("#ded8d7")}`;
|
||||
|
||||
@@ -140,4 +140,4 @@ module.exports = {
|
||||
return interaction.send({ embeds: [statsEmbed] });
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
+1143
-1143
File diff suppressed because it is too large.
Load diff
+5
-5
@@ -31,7 +31,7 @@ module.exports = {
|
||||
type: CommandOptions.Integer,
|
||||
required: true,
|
||||
choices: [
|
||||
{ name: '10-minutes', value: 10 }, { name: '15-minutes', value: 15 }, { name: '20-minutes', value: 20 }, { name: '25-minutes', value: 25 },
|
||||
{ name: '10-minutes', value: 10 }, { name: '15-minutes', value: 15 }, { name: '20-minutes', value: 20 }, { name: '25-minutes', value: 25 },
|
||||
{ name: '30-minutes', value: 30 }, { name: '60-minutes', value: 60 }, { name: '90-minutes', value: 90 }, { name: '120-minutes', value: 120 },
|
||||
]
|
||||
},
|
||||
@@ -134,7 +134,7 @@ module.exports = {
|
||||
value: GuildDB.events[i].name
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
const eventsOptions = new ActionRowBuilder().addComponents(events);
|
||||
|
||||
return interaction.send({ components: [eventsOptions], flags: (1 << 6) });
|
||||
@@ -146,7 +146,7 @@ module.exports = {
|
||||
|
||||
DeleteEvent: {
|
||||
run: async(client, interaction, GuildDB) => {
|
||||
if (!interaction.customId.endsWith(interaction.member.user.id))
|
||||
if (!interaction.customId.endsWith(interaction.member.user.id))
|
||||
return interaction.reply({ content: 'This interaction is not for you', flags: (1 << 6) });
|
||||
|
||||
let event = GuildDB.events.find(e => e.name == interaction.values[0]);
|
||||
@@ -162,9 +162,9 @@ module.exports = {
|
||||
let successEmbed = new EmbedBuilder()
|
||||
.setColor(client.config.Colors.Green)
|
||||
.setDescription(`**Success:** Successfully Deleted **${event.name} Event**`);
|
||||
|
||||
|
||||
return interaction.update({ embeds: [successEmbed], components: [] });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -29,15 +29,15 @@ module.exports = {
|
||||
*/
|
||||
run: async (client, interaction, args, { GuildDB }) => {
|
||||
if (GuildDB.customChannelStatus==true&&!GuildDB.allowedChannels.includes(interaction.channel_id))
|
||||
return interaction.send({ content: `You are not allowed to use the bot in this channel.`, flags: (1 << 6) });
|
||||
|
||||
return interaction.send({ content: `You are not allowed to use the bot in this channel.`, flags: (1 << 6) });
|
||||
|
||||
// Return list of factions and their armband.
|
||||
if (!args) {
|
||||
|
||||
let factions = new EmbedBuilder()
|
||||
.setColor(client.config.Colors.Default)
|
||||
.setTitle('Factions & Armbands')
|
||||
|
||||
|
||||
let description = '';
|
||||
|
||||
if (GuildDB.usedArmbands.length == 0) {
|
||||
@@ -48,9 +48,9 @@ module.exports = {
|
||||
else description += `\n> <@&${factionID}> - *${data.armband}*`;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
factions.setDescription(description);
|
||||
|
||||
|
||||
return interaction.send({ embeds: [factions] });
|
||||
}
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ module.exports = {
|
||||
const warnGTOverwrite = new EmbedBuilder()
|
||||
.setColor(client.config.Colors.Yellow)
|
||||
.setDescription(`**Notice:**\n> The gamertag has previously been linked to <@${playerStat.discordID}>. Are you sure you would like to change this?`)
|
||||
|
||||
|
||||
const opt = new ActionRowBuilder()
|
||||
.addComponents(
|
||||
new ButtonBuilder()
|
||||
@@ -61,7 +61,7 @@ module.exports = {
|
||||
}
|
||||
|
||||
playerStat.discordID = interaction.member.user.id;
|
||||
|
||||
|
||||
await UpdatePlayer(client, playerStat, interaction);
|
||||
|
||||
let member = interaction.guild.members.cache.get(interaction.member.user.id);
|
||||
@@ -87,14 +87,14 @@ module.exports = {
|
||||
|
||||
OverwriteGamertag: {
|
||||
run: async(client, interaction, GuildDB) => {
|
||||
if (!interaction.customId.endsWith(interaction.member.user.id))
|
||||
if (!interaction.customId.endsWith(interaction.member.user.id))
|
||||
return interaction.reply({ content: 'This interaction is not for you', flags: (1 << 6) });
|
||||
|
||||
if (interaction.customId.split('-')[1]=='yes') {
|
||||
let playerStat = await client.dbo.collection("players").findOne({"gamertag": interaction.customId.split('-')[2]});
|
||||
|
||||
playerStat.discordID = interaction.member.user.id;
|
||||
|
||||
|
||||
await UpdatePlayer(client, playerStat, interaction);
|
||||
|
||||
let member = interaction.guild.members.cache.get(interaction.member.user.id);
|
||||
@@ -123,6 +123,6 @@ module.exports = {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -35,7 +35,7 @@ module.exports = {
|
||||
const warnGTOverwrite = new EmbedBuilder()
|
||||
.setColor(client.config.Colors.Yellow)
|
||||
.setDescription(`**Notice:**\n> Are you sure you want to unlink your gamertag? This will limit some automatic features.`);
|
||||
|
||||
|
||||
const opt = new ActionRowBuilder()
|
||||
.addComponents(
|
||||
new ButtonBuilder()
|
||||
@@ -56,14 +56,14 @@ module.exports = {
|
||||
|
||||
UnlinkGamertag: {
|
||||
run: async(client, interaction, GuildDB) => {
|
||||
if (!interaction.customId.endsWith(interaction.member.user.id))
|
||||
if (!interaction.customId.endsWith(interaction.member.user.id))
|
||||
return interaction.reply({ content: 'This interaction is not for you', flags: (1 << 6) });
|
||||
|
||||
if (interaction.customId.split('-')[1]=='yes') {
|
||||
let playerStat = await client.dbo.collection("players").findOne({"discordID": interaction.member.user.id});
|
||||
|
||||
playerStat.discordID = "";
|
||||
|
||||
|
||||
await UpdatePlayer(client, playerStat, interaction);
|
||||
|
||||
let connectedEmbed = new EmbedBuilder()
|
||||
@@ -82,4 +82,4 @@ module.exports = {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
-12
@@ -32,7 +32,7 @@ module.exports = {
|
||||
value: "support",
|
||||
type: CommandOptions.SubCommand,
|
||||
},
|
||||
{
|
||||
{
|
||||
name: "credits",
|
||||
description: "DayZ.R Bot Credits",
|
||||
value: "credits",
|
||||
@@ -58,15 +58,15 @@ module.exports = {
|
||||
if (args[0].name == 'commands') {
|
||||
let Commands = client.commands.filter((cmd) => {
|
||||
return !cmd.debug
|
||||
}).map((cmd) =>
|
||||
}).map((cmd) =>
|
||||
`\`/${cmd.name}${cmd.usage ? " " + cmd.usage : ""}\` - ${cmd.description}`
|
||||
);
|
||||
|
||||
|
||||
let Embed = new EmbedBuilder()
|
||||
.setTitle('Commands')
|
||||
.setColor(client.config.Colors.Default)
|
||||
.setDescription(`${Commands.join("\n")}
|
||||
|
||||
|
||||
DayZR Bot Version: v${client.config.Version}`);
|
||||
if (!args[0].options[0]) return interaction.send({ embeds: [Embed] });
|
||||
else {
|
||||
@@ -77,7 +77,7 @@ module.exports = {
|
||||
);
|
||||
if (!cmd)
|
||||
return interaction.send({ content: `❌ | Unable to find that command.` });
|
||||
|
||||
|
||||
let embed = new EmbedBuilder()
|
||||
.setDescription(cmd.description)
|
||||
.setColor(client.config.Colors.Green)
|
||||
@@ -85,7 +85,7 @@ module.exports = {
|
||||
|
||||
if (cmd.SlashCommand.options && cmd.SlashCommand.options[0].type == 1) {
|
||||
let description = `${cmd.description}\n\n**Usage**\n`;
|
||||
|
||||
|
||||
for (let i = 0; i < cmd.SlashCommand.options.length; i++) {
|
||||
if (cmd.SlashCommand.options[i].type == 1) {
|
||||
let param = '';
|
||||
@@ -107,7 +107,7 @@ module.exports = {
|
||||
const supportEmbed = new EmbedBuilder()
|
||||
.setColor(client.config.Colors.Default)
|
||||
.setDescription(`**__DayZ.R Bot Support__**
|
||||
|
||||
|
||||
Are you experiencing troubles with the DayZ.R Bot?
|
||||
Do you have questions or concerns?
|
||||
Do you require help to use the bot?
|
||||
@@ -126,22 +126,22 @@ module.exports = {
|
||||
.setDescription(`
|
||||
**Bot Author:** mcdazzzled
|
||||
**Github:** https://github.com/SowinskiBraeden/dayz-reforger
|
||||
|
||||
|
||||
${client.config.SupportServer}
|
||||
`);
|
||||
|
||||
return interaction.send({ embeds: [creditsEmbed] })
|
||||
} else if (args[0].name == 'stats') {
|
||||
const end = new Date().getTime();
|
||||
|
||||
|
||||
const totalGuilds = await client.shard.fetchClientValues("guilds.cache.size").then(results => {
|
||||
return results.reduce((acc, guildCount) => acc + guildCount, 0);
|
||||
});
|
||||
|
||||
|
||||
const totalUsers = await client.shard.broadcastEval(c => {
|
||||
c.guilds.cache.reduce((acc, guild) => acc + guild.memberCount, 0);
|
||||
}).then(data => data.reduce((acc, memberCount) => acc + memberCount, 0));
|
||||
|
||||
|
||||
const stats = new EmbedBuilder()
|
||||
.setColor(client.config.Colors.Default)
|
||||
.setTitle('DayZ Reforger Bot Statistics')
|
||||
@@ -158,4 +158,4 @@ module.exports = {
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
+22
-22
@@ -21,7 +21,7 @@ module.exports = {
|
||||
{ name: "Money", value: "money" },
|
||||
{ name: "Total Time Played", value: "totalSessionTime" },
|
||||
{ name: "Longest Game Session", value: "longestSessionTime" },
|
||||
{ name: "Kills", value: "kills" },
|
||||
{ name: "Kills", value: "kills" },
|
||||
{ name: "Kill Streak", value: "killStreak" },
|
||||
{ name: "Best Kill Streak", value: "bestKillStreak" },
|
||||
{ name: "Deaths", value: "deaths" },
|
||||
@@ -60,7 +60,7 @@ module.exports = {
|
||||
|
||||
return interaction.send({ embeds: [warnNitradoNotInitialized], flags: (1 << 6) });
|
||||
}
|
||||
|
||||
|
||||
const category = args[0].value;
|
||||
const limit = args[1].value;
|
||||
|
||||
@@ -72,28 +72,28 @@ module.exports = {
|
||||
]).toArray();
|
||||
|
||||
} else {
|
||||
|
||||
|
||||
leaderboard = await client.dbo.collection("players").aggregate([
|
||||
{ $sort: { [`${category}`]: -1 } }
|
||||
]).toArray();
|
||||
|
||||
}
|
||||
|
||||
|
||||
let leaderboardEmbed = new EmbedBuilder()
|
||||
.setColor(client.config.Colors.Default);
|
||||
|
||||
|
||||
let title = category == 'kills' ? "Total Kills Leaderboard" :
|
||||
category == 'killStreak' ? "Current Killstreak Leaderboard" :
|
||||
category == 'bestKillStreak' ? "Best Killstreak Leaderboard" :
|
||||
category == 'deaths' ? "Total Deaths Leaderboard" :
|
||||
category == 'deathStreak' ? "Current Deathstreak Leaderboard" :
|
||||
category == 'worstDeathStreak' ? "Worst Deathstreak Leaderboard" :
|
||||
category == 'longestKill' ? "Longest Kill Leaderboard" :
|
||||
category == 'money' ? "Money Leaderboard" :
|
||||
category == 'totalSessionTime' ? "Total Time Played" :
|
||||
category == 'longestSessionTime' ? "Longest Game Session" :
|
||||
category == 'KDR' ? "Kill Death Ratio" :
|
||||
category == 'connections' ? "Times Connected" :
|
||||
category == 'worstDeathStreak' ? "Worst Deathstreak Leaderboard" :
|
||||
category == 'longestKill' ? "Longest Kill Leaderboard" :
|
||||
category == 'money' ? "Money Leaderboard" :
|
||||
category == 'totalSessionTime' ? "Total Time Played" :
|
||||
category == 'longestSessionTime' ? "Longest Game Session" :
|
||||
category == 'KDR' ? "Kill Death Ratio" :
|
||||
category == 'connections' ? "Times Connected" :
|
||||
category == 'shotsLanded' ? "Shots Landed" :
|
||||
category == 'timesShot' ? "Times Shot" :
|
||||
category == 'combatRating' ? "Combat Rating" : 'N/A Error';
|
||||
@@ -103,21 +103,21 @@ module.exports = {
|
||||
let des = ``;
|
||||
for (let i = 0; i < limit; i++) {
|
||||
if (leaderboard.length < limit && i == leaderboard.length) break;
|
||||
|
||||
|
||||
let stats = category == 'kills' ? `${leaderboard[i].kills} Kill${(leaderboard[i].kills>1||leaderboard[i].kills==0)?'s':''}` :
|
||||
category == 'killStreak' ? `${leaderboard[i].killStreak} Player Killstreak` :
|
||||
category == 'bestKillStreak' ? `${leaderboard[i].bestKillStreak} Player Killstreak` :
|
||||
category == 'deaths' ? `${leaderboard[i].deaths} Death${leaderboard[i].deaths>1||leaderboard[i].deaths==0?'s':''}` :
|
||||
category == 'deathStreak' ? `${leaderboard[i].deathStreak} Deathstreak` :
|
||||
category == 'worstDeathstreak' ? `${leaderboard[i].worstDeathStreak} Deathstreak` :
|
||||
category == 'longestKill' ? `${leaderboard[i].longestKill}m` :
|
||||
category == 'money' ? `$${(leaderboard[i].user.guilds[GuildDB.serverID].balance).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}` :
|
||||
category == 'totalSessionTime' ? `**Total:** ${client.secondsToDhms(leaderboard[i].totalSessionTime)}\n> **Last Session:** ${client.secondsToDhms(leaderboard[i].lastSessionTime)}` :
|
||||
category == 'longestSessionTime' ? `**Longest Game Session:** ${client.secondsToDhms(leaderboard[i].longestSessionTime)}` :
|
||||
category == 'KDR' ? `**KDR: ${leaderboard[i].KDR.toFixed(2)}**` :
|
||||
category == 'connection' ? `**Connections: ${leaderboard[i].connections}**` :
|
||||
category == 'combatRating' ? `**Combat Rating:** ${leaderboard[i].combatRating}` :
|
||||
category == 'shotsLanded' ? `**Shots Landed:** ${leaderboard[i].shotsLanded}` :
|
||||
category == 'longestKill' ? `${leaderboard[i].longestKill}m` :
|
||||
category == 'money' ? `$${(leaderboard[i].user.guilds[GuildDB.serverID].balance).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}` :
|
||||
category == 'totalSessionTime' ? `**Total:** ${client.secondsToDhms(leaderboard[i].totalSessionTime)}\n> **Last Session:** ${client.secondsToDhms(leaderboard[i].lastSessionTime)}` :
|
||||
category == 'longestSessionTime' ? `**Longest Game Session:** ${client.secondsToDhms(leaderboard[i].longestSessionTime)}` :
|
||||
category == 'KDR' ? `**KDR: ${leaderboard[i].KDR.toFixed(2)}**` :
|
||||
category == 'connection' ? `**Connections: ${leaderboard[i].connections}**` :
|
||||
category == 'combatRating' ? `**Combat Rating:** ${leaderboard[i].combatRating}` :
|
||||
category == 'shotsLanded' ? `**Shots Landed:** ${leaderboard[i].shotsLanded}` :
|
||||
category == 'timesShot' ? `**Times Shot:** ${leaderboard[i].timesShot}` : 'N/A Error';
|
||||
|
||||
if (category == 'money') des += `**${i+1}.** <@${leaderboard[i].user.userID}> - **${stats}**\n`
|
||||
@@ -128,7 +128,7 @@ module.exports = {
|
||||
}
|
||||
|
||||
if (['money', 'totalSessionTime', 'longestSessionTime', 'combatRating'].includes(category)) leaderboardEmbed.setDescription(des);
|
||||
|
||||
|
||||
return interaction.send({ embeds: [leaderboardEmbed] });
|
||||
},
|
||||
},
|
||||
|
||||
@@ -37,14 +37,14 @@ module.exports = {
|
||||
|
||||
let newDt = await client.getDateEST(playerStat.time);
|
||||
let unixTime = Math.floor(newDt.getTime()/1000);
|
||||
|
||||
|
||||
const destination = nearest(playerStat.pos, GuildDB.Nitrado.Mission);
|
||||
|
||||
|
||||
let lastLocation = new EmbedBuilder()
|
||||
.setColor(client.config.Colors.Default)
|
||||
.setDescription(`**Location - <t:${unixTime}>**\nYour last location was detected at **[${playerStat.pos[0]}, ${playerStat.pos[1]}](https://www.izurvive.com/chernarusplussatmap/#location=${playerStat.pos[0]};${playerStat.pos[1]})**\n${destination}`)
|
||||
|
||||
|
||||
return interaction.send({ embeds: [lastLocation], flags: (1 << 6) });
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
+6
-6
@@ -58,19 +58,19 @@ module.exports = {
|
||||
|
||||
let playerStat = await client.dbo.collection("players").findOne({"gamertag": args[0].options[0].value});
|
||||
if (playerStat == undefined) return interaction.send({ embeds: [new EmbedBuilder().setColor(client.config.Colors.Yellow).setDescription(`**Not Found** This gamertag \` ${args[0].options[0].value} \` cannot be found, the gamertag may be incorrect or this player has not logged onto the server before for at least \` 5 minutes \`.`)] });
|
||||
|
||||
|
||||
if (client.exists(playerStat.discordID)) {
|
||||
const found = new EmbedBuilder()
|
||||
.setColor(client.config.Colors.Yellow)
|
||||
.setDescription(`**Record Found**\n> The gamertag \` ${playerStat.gamertag} \` is currently linked to <@${playerStat.discordID}>.`)
|
||||
|
||||
|
||||
return interaction.send({ embeds: [found] });
|
||||
}
|
||||
|
||||
|
||||
let notFound = new EmbedBuilder()
|
||||
.setColor(client.config.Colors.Default)
|
||||
.setDescription(`**Record Not Found**\n The gamertag \` ${playerStat.gamertag} \` currently has no linked Discord account.`);
|
||||
|
||||
|
||||
return interaction.send({ embeds: [notFound] })
|
||||
|
||||
} else if (args[0].name == 'gamertag') {
|
||||
@@ -81,10 +81,10 @@ module.exports = {
|
||||
const found = new EmbedBuilder()
|
||||
.setColor(client.config.Colors.Yellow)
|
||||
.setDescription(`**Record Found**\n> The user <@${playerStat.discordID}> has linked the gamertag \` ${playerStat.gamertag} \`.`)
|
||||
|
||||
|
||||
return interaction.send({ embeds: [found] });
|
||||
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,7 @@ module.exports = {
|
||||
channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"],
|
||||
member: [],
|
||||
},
|
||||
options: [],
|
||||
options: [],
|
||||
SlashCommand: {
|
||||
/**
|
||||
*
|
||||
@@ -35,7 +35,7 @@ module.exports = {
|
||||
|
||||
const data = await FetchServerSettings(GuildDB.Nitrado, client, 'commands/player-list.js'); // Fetch server status
|
||||
const e = data && data !== 1; // Check if data exists
|
||||
|
||||
|
||||
const hostname = e ? data.data.gameserver.settings.config.hostname : 'N/A';
|
||||
const map = e ? Missions[data.data.gameserver.settings.config.mission] : 'N/A';
|
||||
const status = e ? data.data.gameserver.status : 'N/A';
|
||||
@@ -57,7 +57,7 @@ module.exports = {
|
||||
for (let i = 0; i < activePlayers.length; i++) {
|
||||
des += `**- ${activePlayers[i].gamertag}**\n`;
|
||||
}
|
||||
|
||||
|
||||
const nodes = activePlayers.length === 0;
|
||||
const serverEmbed = new EmbedBuilder()
|
||||
.setColor(client.config.Colors.Default)
|
||||
@@ -78,4 +78,4 @@ module.exports = {
|
||||
return interaction.editReply({ embeds: [serverEmbed, activePlayersEmbed] });
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
+24
-24
@@ -22,7 +22,7 @@ module.exports = {
|
||||
{ name: "Money", value: "money" },
|
||||
{ name: "Total Time Played", value: "totalSessionTime" },
|
||||
{ name: "Longest Game Session", value: "longestSessionTime" },
|
||||
{ name: "Kills", value: "kills" },
|
||||
{ name: "Kills", value: "kills" },
|
||||
{ name: "Kill Streak", value: "killStreak" },
|
||||
{ name: "Best Kill Streak", value: "bestKillStreak" },
|
||||
{ name: "Deaths", value: "deaths" },
|
||||
@@ -56,7 +56,7 @@ module.exports = {
|
||||
* @param {*} param3
|
||||
*/
|
||||
run: async (client, interaction, args, { GuildDB }, start) => {
|
||||
|
||||
|
||||
if (!client.exists(GuildDB.Nitrado) || !client.exists(GuildDB.Nitrado.ServerID) || !client.exists(GuildDB.Nitrado.UserID) || !client.exists(GuildDB.Nitrado.Auth)) {
|
||||
const warnNitradoNotInitialized = new EmbedBuilder()
|
||||
.setColor(client.config.Colors.Yellow)
|
||||
@@ -69,7 +69,7 @@ module.exports = {
|
||||
let discord = args[1] && args[1].name == 'discord' ? args[1].value : undefined;
|
||||
let gamertag = args[1] && args[1].name == 'gamertag' ? args[1].value : undefined;
|
||||
let self = !discord && !gamertag; // searching for self if both discord and gamertag are undefined;
|
||||
|
||||
|
||||
let query;
|
||||
let leaderboard;
|
||||
let leaderboardPos;
|
||||
@@ -88,7 +88,7 @@ module.exports = {
|
||||
leaderboardPos = leaderboard.indexOf(query);
|
||||
|
||||
} else {
|
||||
|
||||
|
||||
leaderboard = await client.dbo.collection("players").aggregate([
|
||||
{ $sort: { [`${category}`]: -1 } }
|
||||
]).toArray();
|
||||
@@ -108,13 +108,13 @@ module.exports = {
|
||||
category == 'bestkillStreak' ? "Best Killstreak" :
|
||||
category == 'deaths' ? "Total Deaths" :
|
||||
category == 'deathStreak' ? "Current Deathstreak" :
|
||||
category == 'worstDeathStreak' ? "Worst Deathstreak" :
|
||||
category == 'longestKill' ? "Longest Kill" :
|
||||
category == 'money' ? "Total Money" :
|
||||
category == 'worstDeathStreak' ? "Worst Deathstreak" :
|
||||
category == 'longestKill' ? "Longest Kill" :
|
||||
category == 'money' ? "Total Money" :
|
||||
category == 'totalSessionTime' ? "Total Time Played" :
|
||||
category == 'longestSessionTime' ? "Longest Game Session" :
|
||||
category == 'KDR' ? "Kill Death Ratio" :
|
||||
category == 'connections' ? "Times Connected" :
|
||||
category == 'connections' ? "Times Connected" :
|
||||
category == 'shotsLanded' ? "Shots Landed" :
|
||||
category == 'timesShot' ? "Times Shot" :
|
||||
category == 'combatRating' ? "Combat Rating" : 'N/A Error';
|
||||
@@ -134,14 +134,14 @@ module.exports = {
|
||||
category == 'deaths' ? `${query.deaths} Death${query.deaths>1||query.deaths==0?'s':''}` :
|
||||
category == 'deathStreak' ? `${query.deathStreak} Deathstreak` :
|
||||
category == 'worstDeathStreak' ? `${query.worstDeathStreak} Deathstreak` :
|
||||
category == 'longestKill' ? `${query.longestKill}m` :
|
||||
category == 'money' ? `$${(query.user.guilds[GuildDB.serverID].balance).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}` :
|
||||
category == 'KDR' ? `${query.KDR.toFixed(2)} KDR` :
|
||||
category == 'connections' ? `${query.connections} connections` :
|
||||
category == 'longestKill' ? `${query.longestKill}m` :
|
||||
category == 'money' ? `$${(query.user.guilds[GuildDB.serverID].balance).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}` :
|
||||
category == 'KDR' ? `${query.KDR.toFixed(2)} KDR` :
|
||||
category == 'connections' ? `${query.connections} connections` :
|
||||
category == 'combatRating' ? `${query.combatRating}` : 'N/A Error';
|
||||
|
||||
statsEmbed.addFields({ name: 'Leaderboard Position', value: `# ${leaderboardPos}`, inline: true });
|
||||
|
||||
|
||||
if ((category == 'shotsLanded' || category == 'timesShot') && !client.exists(query.shotsLanded)) query = insertPVPstats(query);
|
||||
|
||||
if (category == 'totalSessionTime') {
|
||||
@@ -154,11 +154,11 @@ module.exports = {
|
||||
{ name: 'Longest Game Session', value: client.secondsToDhms(query.longestSessionTime), inline: true },
|
||||
{ name: 'Last Session Time', value: client.secondsToDhms(query.lastSessionTime), inline: true }
|
||||
);
|
||||
} else if (category == 'shotsLanded') {
|
||||
} else if (category == 'shotsLanded') {
|
||||
statsEmbed.addFields(
|
||||
{ name: 'Total Shots Landed', value: `${query.shotsLanded}`, inline: true },
|
||||
{ name: 'View Weapon stats', value: `</weapon-stats:1169369568104415262>`, inline: true }
|
||||
);
|
||||
);
|
||||
|
||||
const chart = {
|
||||
type: 'bar',
|
||||
@@ -189,18 +189,18 @@ module.exports = {
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
const encodedChart = encodeURIComponent(JSON.stringify(chart));
|
||||
const chartURL = `https://quickchart.io/chart?bkg=${encodeURIComponent("#ded8d7")}&c=${encodedChart}`;
|
||||
|
||||
|
||||
statsEmbed.setImage(chartURL);
|
||||
|
||||
} else if (category == 'timesShot') {
|
||||
} else if (category == 'timesShot') {
|
||||
statsEmbed.addFields(
|
||||
{ name: 'Total Times Shot', value: `${query.timesShot}`, inline: true },
|
||||
{ name: 'View Weapon stats', value: `</weapon-stats:1169369568104415262>`, inline: true },
|
||||
);
|
||||
|
||||
|
||||
const chart = {
|
||||
type: 'bar',
|
||||
data: {
|
||||
@@ -230,12 +230,12 @@ module.exports = {
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
const encodedChart = encodeURIComponent(JSON.stringify(chart));
|
||||
const chartURL = `https://quickchart.io/chart?bkg=${encodeURIComponent("#ded8d7")}&c=${encodedChart}`;
|
||||
|
||||
|
||||
statsEmbed.setImage(chartURL);
|
||||
|
||||
|
||||
} else if (category == 'combatRating') {
|
||||
|
||||
let data = query.combatRatingHistory;
|
||||
@@ -318,8 +318,8 @@ module.exports = {
|
||||
statsEmbed.setImage(chartURL);
|
||||
|
||||
} else statsEmbed.addFields({ name: title, value: stats, inline: true });
|
||||
|
||||
|
||||
return interaction.send({ embeds: [statsEmbed] });
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,7 @@ module.exports = {
|
||||
permissions: {
|
||||
channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"],
|
||||
member: ["MANAGE_GUILD"],
|
||||
},
|
||||
},
|
||||
options: [{
|
||||
name: "duration",
|
||||
description: "Select the duration of the emp (30 or 60 minutes)",
|
||||
@@ -32,7 +32,7 @@ module.exports = {
|
||||
* @param {*} param3
|
||||
*/
|
||||
run: async (client, interaction, args, { GuildDB }) => {
|
||||
|
||||
|
||||
if (!client.exists(GuildDB.Nitrado) || !client.exists(GuildDB.Nitrado.ServerID) || !client.exists(GuildDB.Nitrado.UserID) || !client.exists(GuildDB.Nitrado.Auth)) {
|
||||
const warnNitradoNotInitialized = new EmbedBuilder()
|
||||
.setColor(client.config.Colors.Yellow)
|
||||
@@ -45,7 +45,7 @@ module.exports = {
|
||||
|
||||
const duration = args[0].value;
|
||||
let banking = await client.dbo.collection("users").findOne({"user.userID": interaction.member.user.id}).then(banking => banking);
|
||||
|
||||
|
||||
if (!banking) {
|
||||
banking = await createUser(interaction.member.user.id, GuildDB.serverID, GuildDB.startingBalance, client)
|
||||
if (!client.exists(banking)) return client.sendInternalError(interaction, err);
|
||||
@@ -67,13 +67,13 @@ module.exports = {
|
||||
|
||||
const price = duration == 30 ? GuildDB.empPrice : GuildDB.empPrice * 2;
|
||||
const newBalance = banking.guilds[GuildDB.serverID].balance - price;
|
||||
|
||||
|
||||
if (GuildDB.alarms.length == 0) return interaction.send({ embeds: [new EmbedBuilder().setColor(client.config.Colors.Default).setDescription('**Notice:** No Existing Alarms to EMP.')], flags: (1 << 6) });
|
||||
|
||||
client.dbo.collection("users").updateOne({"user.userID":interaction.member.user.id},{$set:{[`user.guilds.${GuildDB.serverID}.balance`]:newBalance}}, (err, res) => {
|
||||
if (err) return client.sendInternalError(interaction, err);
|
||||
});
|
||||
|
||||
|
||||
let alarms = new StringSelectMenuBuilder()
|
||||
.setCustomId(`EMPAlarmSelect-${interaction.member.user.id}`)
|
||||
.setPlaceholder(`Select an Alarm to EMP.`)
|
||||
|
||||
@@ -39,7 +39,7 @@ module.exports = {
|
||||
* @param {*} param3
|
||||
*/
|
||||
run: async (client, interaction, args, { GuildDB }) => {
|
||||
|
||||
|
||||
if (!client.exists(GuildDB.Nitrado) || !client.exists(GuildDB.Nitrado.ServerID) || !client.exists(GuildDB.Nitrado.UserID) || !client.exists(GuildDB.Nitrado.Auth)) {
|
||||
const warnNitradoNotInitialized = new EmbedBuilder()
|
||||
.setColor(client.config.Colors.Yellow)
|
||||
@@ -72,7 +72,7 @@ module.exports = {
|
||||
}
|
||||
|
||||
const newBalance = banking.guilds[GuildDB.serverID].balance - GuildDB.uavPrice;
|
||||
|
||||
|
||||
client.dbo.collection("users").updateOne({"user.userID":interaction.member.user.id},{$set:{[`user.guilds.${GuildDB.serverID}.balance`]:newBalance}}, (err, res) => {
|
||||
if (err) return client.sendInternalError(interaction, err);
|
||||
});
|
||||
|
||||
+4
-4
@@ -56,7 +56,7 @@ module.exports = {
|
||||
)
|
||||
|
||||
return interaction.send({ embeds: [prompt], components: [opt], flags: (1 << 6) });
|
||||
|
||||
|
||||
},
|
||||
},
|
||||
|
||||
@@ -66,7 +66,7 @@ module.exports = {
|
||||
run: async (client, interaction, GuildDB) => {
|
||||
const choice = interaction.customId.split('-')[1];
|
||||
const targetUserID = interaction.customId.split('-')[2];
|
||||
|
||||
|
||||
if (!interaction.customId.endsWith(interaction.member.user.id)) {
|
||||
return interaction.reply({
|
||||
content: "This button is not for you",
|
||||
@@ -79,7 +79,7 @@ module.exports = {
|
||||
.setTitle('Successfully reset user\'s data')
|
||||
|
||||
let banking = await client.dbo.collection("users").findOne({"user.userID": interaction.member.user.id}).then(banking => banking);
|
||||
|
||||
|
||||
let bankingReset = false;
|
||||
if (!banking) bankingReset = true
|
||||
else banking = banking.user
|
||||
@@ -108,4 +108,4 @@ module.exports = {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
-12
@@ -189,7 +189,7 @@ module.exports = {
|
||||
|
||||
return interaction.send({ embeds: [prompt], components: [opt], flags: (1 << 6) });
|
||||
}
|
||||
|
||||
|
||||
if (!client.exists(GuildDB.Nitrado) || !client.exists(GuildDB.Nitrado.ServerID)) return interaction.send({ embeds: [new EmbedBuilder().setColor(client.config.Colors.Red).setDescription(`**Notice:**\nThis Discord guild has not been configured with a Nitrado DayZ server. To configure your guild, use </server initialize:1166877457559851011>`)] });
|
||||
|
||||
if (args[0].name == 'credentials-status') {
|
||||
@@ -263,7 +263,7 @@ module.exports = {
|
||||
} else if (args[0].name == "auto-restart") {
|
||||
let msg = 'Auto server restart periodic check enabled.';
|
||||
let pref = 0;
|
||||
|
||||
|
||||
// Enable/Disable a 10min periodic server status check.
|
||||
if (!client.arIntervalIds.has(GuildDB.serverID)) {
|
||||
client.arIntervalIds.set(GuildDB.serverID, setInterval(CheckServerStatus, client.arInterval, GuildDB.Nitrado, client));
|
||||
@@ -283,7 +283,7 @@ module.exports = {
|
||||
});
|
||||
|
||||
return interaction.send({ embeds: [new EmbedBuilder().setColor(client.config.Colors.Yellow).setDescription(msg)], flags: (1 << 6) });
|
||||
|
||||
|
||||
} else if (args[0].name == 'disable-base-damage') {
|
||||
const preference = args[0].options[0].value;
|
||||
await interaction.deferReply({ flags: (1 << 6) });
|
||||
@@ -292,7 +292,7 @@ module.exports = {
|
||||
|
||||
if (disableBaseDamageFailed) return interaction.editReply({ embeds: [new EmbedBuilder().setColor(client.config.Colors.Red).setDescription('Failed to set **disableBaseDamage**. This can result from a variety of reasons:\nNitrado servers may be experiencing issues\nThe DayZ.R Bot may be experiencing issues\nYour Nitrado credentials were entered incorrectly')], flags: (1 << 6) });
|
||||
return interaction.editReply({ embeds: [new EmbedBuilder().setColor(client.config.Colors.Green).setDescription(`Successfully set **disableBaseDamage** to ${preference}.\nRestart the DayZ server to apply these changes.`)], flags: (1 << 6) });
|
||||
|
||||
|
||||
} else if (args[0].name == 'disable-container-damage') {
|
||||
const preference = args[0].options[0].value;
|
||||
await interaction.deferReply({ flags: (1 << 6) });
|
||||
@@ -301,16 +301,16 @@ module.exports = {
|
||||
|
||||
if (disableContainerDamageFailed) return interaction.editReply({ embeds: [new EmbedBuilder().setColor(client.config.Colors.Red).setDescription('Failed to set **disableContainerDamage**. This can result from a variety of reasons:\nNitrado servers may be experiencing issues\nThe DayZ.R Bot may be experiencing issues\nYour Nitrado credentials were entered incorrectly')], flags: (1 << 6) });
|
||||
return interaction.editReply({ embeds: [new EmbedBuilder().setColor(client.config.Colors.Green).setDescription(`Successfully set **disableContainerDamage** to ${preference}.\nRestart the DayZ server to apply these changes.`)], flags: (1 << 6) });
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
Interactions: {
|
||||
|
||||
|
||||
NitradoCredentials: {
|
||||
run: async(client, interaction, GuildDB) => {
|
||||
if (!interaction.customId.endsWith(interaction.member.user.id))
|
||||
if (!interaction.customId.endsWith(interaction.member.user.id))
|
||||
return interaction.reply({ content: 'This interaction is not for you', flags: (1 << 6) });
|
||||
|
||||
const Nitrado = {
|
||||
@@ -344,21 +344,21 @@ module.exports = {
|
||||
const NitradoCredentials = new ModalBuilder()
|
||||
.setTitle('Connect your Nitrado Server')
|
||||
.setCustomId(`NitradoCredentials-${interaction.member.user.id}`);
|
||||
|
||||
|
||||
const ServerID = new ActionRowBuilder().addComponents(new TextInputBuilder()
|
||||
.setCustomId('ServerIDInput')
|
||||
.setLabel('Your Nitrado Server ID')
|
||||
.setStyle(TextInputStyle.Short)
|
||||
.setRequired(true)
|
||||
);
|
||||
|
||||
|
||||
const UserID = new ActionRowBuilder().addComponents(new TextInputBuilder()
|
||||
.setCustomId('UserIDInput')
|
||||
.setLabel('Your Nitrado User ID')
|
||||
.setStyle(TextInputStyle.Short)
|
||||
.setRequired(true)
|
||||
);
|
||||
|
||||
|
||||
const Auth = new ActionRowBuilder().addComponents(new TextInputBuilder()
|
||||
.setCustomId('AuthInput')
|
||||
.setLabel('Your Nitrado Authentication Token')
|
||||
@@ -366,9 +366,9 @@ module.exports = {
|
||||
.setStyle(TextInputStyle.Short)
|
||||
.setRequired(true)
|
||||
);
|
||||
|
||||
|
||||
NitradoCredentials.addComponents(ServerID, UserID, Auth);
|
||||
|
||||
|
||||
// TODO: Figure out how to remove the prompt buttons and the embed.
|
||||
return interaction.showModal(NitradoCredentials);
|
||||
} else {
|
||||
|
||||
@@ -61,7 +61,7 @@ module.exports = {
|
||||
|
||||
return interaction.send({ embeds: [warnNitradoNotInitialized], flags: (1 << 6) });
|
||||
}
|
||||
|
||||
|
||||
let discord = args[1] && args[1].name == 'discord' ? args[1].value : undefined;
|
||||
let gamertag = args[1] && args[1].name == 'gamertag' ? args[1].value : undefined;
|
||||
let self = !discord && !gamertag; // searching for self if both discord and gamertag are undefined
|
||||
@@ -71,13 +71,13 @@ module.exports = {
|
||||
|
||||
// Searching by Discord
|
||||
if (discord) query = await client.dbo.collection("players").findOne({"discordID": discord});
|
||||
|
||||
|
||||
// Searching by Gamertag
|
||||
if (gamertag) query = await client.dbo.collection("players").findOne({"gamertag": gamertag});
|
||||
|
||||
|
||||
// Searching for self
|
||||
if (self) query = await client.dbo.collection("players").findOne({"discordID": interaction.member.user.id});
|
||||
|
||||
|
||||
if (!client.exists(query)) return interaction.send({ embeds: [new EmbedBuilder().setColor(client.config.Colors.Yellow).setDescription(`**Not Found** Unable to find any records with the gamertag or user provided.`)] });
|
||||
|
||||
let weaponSelect = new StringSelectMenuBuilder()
|
||||
@@ -103,7 +103,7 @@ module.exports = {
|
||||
run: async(client, interaction, GuildDB) => {
|
||||
if (!interaction.customId.endsWith(interaction.member.user.id))
|
||||
return interaction.reply({ content: 'This interaction is not for you', flags: (1 << 6) });
|
||||
|
||||
|
||||
const weapon = interaction.values[0].split("_")[1];
|
||||
const weaponClass = interaction.values[0].split("_")[0];
|
||||
const playerID = interaction.customId.split('-')[1];
|
||||
@@ -163,12 +163,12 @@ module.exports = {
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
const encodedChart = encodeURIComponent(JSON.stringify(chart));
|
||||
const chartURL = `https://quickchart.io/chart?bkg=${encodeURIComponent("#ded8d7")}&c=${encodedChart}`;
|
||||
|
||||
|
||||
stats.setImage(chartURL);
|
||||
|
||||
|
||||
return interaction.update({ components: [], embeds: [stats] });
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user