commit a1efe586216a6f32c4d546f400f64f062e847c5b
parent a84539f12cf014aa9c5e87a4f8de609ab0f46615
Author: night0721 <[email protected]>
Date: Sun, 20 Mar 2022 00:45:19 +0800
added sensitivity command and added now scam links
Diffstat:
13 files changed, 370 insertions(+), 339 deletions(-)
diff --git a/APEX/apex.json b/APEX/apex.json
@@ -1,49 +0,0 @@
-{
- "legends": [
- "Bangalore",
- "Bloodhound",
- "Caustic",
- "Crypto",
- "Fuse",
- "Gibraltar",
- "Horizon",
- "LIfeline",
- "Loba",
- "Mirage",
- "Octane",
- "Pathfinder",
- "Rampart",
- "Revenant",
- "Valkyrie",
- "Watton",
- "Wraith"
- ],
- "guns": [
- "Bocek Bow",
- "EVA-8",
- "Kraber",
- "Peacekeeper",
- "Prowler",
- "R-301 Carbine",
- "R-99",
- "Spitfire",
- "Charge Rifle",
- "Flatline",
- "G7 Scout",
- "Havoc",
- "Mastiff",
- "Sentinel",
- "Triple Take",
- "Volt",
- "Wingman",
- "Alternator",
- "Devotion",
- "Hemlok",
- "Longbow",
- "L-Star",
- "RE-45",
- "30-30 Repeater",
- "Mozambique",
- "P2020"
- ]
-}
-\ No newline at end of file
diff --git a/CODM/stats.js b/CODM/stats.js
@@ -1,270 +0,0 @@
-const common = require("../util/functions/common");
-const data = require("../util/Data/data.json");
-const Discord = require("discord.js");
-
-let currGun,
- currStats,
- currAttachments,
- currRecoilArr,
- currDRM,
- interpretion,
- recoilAvailable,
- chart,
- hasError;
-const errMsg = "*Generic placeholder error message*";
-module.exports = {
- name: "stats",
- description: "Check gun stats",
- usage: "(Gun)",
- category: "CODM",
- /**
- * @param {Client} client
- * @param {Message} message
- * @param {String[]} args
- */
- run: async (client, message, args) => {
- recoilAvailable = false;
- hasError = false;
- const repEmb = statsHandler(args.join(" ").replace("\n", " "));
-
- if (hasError) {
- message.reply({ embeds: [repEmb] });
- }
- if (recoilAvailable) {
- repEmb.fields.push({
- name: "**Recoil Graph**",
- value:
- "```\nThe Recoil graph below is dynamic (change based on attachment equipped)```",
- });
- const recoilImageLink = await chart.getShortUrl();
- repEmb.image = { url: recoilImageLink };
- }
- message.reply({ embeds: [repEmb] });
- },
-};
-
-function inpHandler(inpmsg) {
- statsHandler(inpmsg.split("+")[0]);
-}
-
-function statsHandler(inpmsg) {
- let statsNames = [
- "Pellets",
- "Detonation Range",
- "Explosion Radius",
- "Explosion Damage",
- "Firing Mode",
- "Rate of Fire",
- "Bullet in Burst",
- "Time Between Burst",
- "Bullet Speed",
- "Penetration Level",
- "Bullet Spread",
- "Idle Sway",
- "Hipfire Pellet Spread",
- "ADS Pellet Spread",
- "ADS Time",
- "Sprint-to-Fire Time",
- "ADS Zoom",
- "Magazine",
- "Reserve",
- "Reload Type",
- "Cancel Reload Time",
- "Reload Time",
- "Full Reload Time",
- "Drop Time",
- "Raise Time",
- "Sprinting Speed",
- "Walking Speed",
- "Straifing Speed",
- "Damage per Tick",
- "Number of Ticks",
- "Time Between Ticks",
- "Breath Hold Time",
- "shouldNeverHappen0",
- "shouldNeverHappen1",
- "shouldNeverHappen2",
- "shouldNeverHappen3",
- "shouldNeverHappen4",
- ],
- out = [];
-
- currGun = common.weaponIdentifier(inpmsg);
- if (typeof currGun == "string") {
- hasError = true;
- return currGun;
- }
- currStats = currGun.stats;
- currDRM = currGun.drm[0];
- currAttachments = [];
- currAttachments = common.attachmentsIdentifier(inpmsg, currGun);
- if (typeof currAttachments == "string") {
- hasError = true;
- return currAttachments;
- }
- currRecoilArr = [1, 1, currGun.stats[17]];
- if (currAttachments.length != 0) {
- const totalEffects = common.totaler(currAttachments);
-
- currStats = common.updateStatswithEffects(totalEffects, currStats);
- currRecoilArr = [totalEffects[2], totalEffects[3], currGun.stats[17]]; // must happen after currStats update
- currDRM = currGun.drm[totalEffects[37]];
- currDRM.range = currDRM.range.map(x =>
- Math.round(x * (1 + totalEffects[13] / 100))
- );
- out = common.attachmentHandler(totalEffects, currStats);
- }
- function statsWorker() {
- if (currStats[19] === 2) {
- currStats[21] =
- currStats[20] + currStats[21] * currStats[17] + currStats[22];
- currStats[20] = 0;
- currStats[22] = 0;
- }
- currStats[25] = (currStats[25] * currStats[26]) / 100;
-
- const outReady = currStats.map((x, i) =>
- x ? statsNames[i].padEnd(24) + ":".padEnd(3) + beautifier(i) : ""
- );
- out = [
- ...[
- "Basic Stats",
- "ADS Stats",
- "Bullet Stats",
- "Magazine",
- "Handling Stats",
- "Mobility Stats",
- "Miscellaneous Stats",
- ].map((x, i) =>
- fieldMaker(
- x,
- [
- [04, 05, 09],
- [14, 16, 11, 31],
- [00, 06, 07, 08, 10, 12, 13],
- [17, 18, 19, 20, 21, 22],
- [23, 24],
- [25, 26, 27, 15],
- [28, 29, 30, 01, 02, 03],
- ][i]
- )
- ),
- ...out,
- ];
- function fieldMaker(inpName, inpIndx) {
- inpIndx = inpIndx.filter(x => outReady[x]);
- return inpIndx.length
- ? {
- name: "**" + inpName + "**",
- value: "```\n" + inpIndx.map(x => outReady[x]).join("\n") + "```",
- }
- : "";
- }
- }
- statsWorker();
-
- function beautifier(j) {
- switch (j) {
- case 04:
- return data.firingModes[currStats[j] - 1];
- case 09:
- return data.penetrationLevels[currStats[j] - 1];
- case 19:
- return data.reloadTypes[currStats[j] - 1];
- case 08:
- if (currStats[j] == -1) {
- return "Infinity";
- } else {
- return parseFloat(currStats[j].toFixed(2)).toString() + " m/s";
- }
- case 03:
- return parseFloat(currStats[j].toFixed(2))
- .toString()
- .replace(".", " ~ ");
- default:
- return parseFloat(currStats[j].toFixed(2)).toString() + addUnit(j);
- }
-
- function addUnit(j) {
- switch (j) {
- case 07:
- case 14:
- case 15:
- case 23:
- case 24:
- case 31:
- return " ms";
- case 27:
- case 28:
- case 25:
- case 26:
- return " m/s";
- case 20:
- case 21:
- case 22:
- return " s";
- case 16:
- return "%";
- case 06:
- return " Rounds";
- case 05:
- return " RPM";
- default:
- return "";
- }
- }
- }
- interpretion = currGun.gunname + common.interpretioner(currAttachments);
- if (currGun.recoil.hr.length > 2) {
- chart = common.recoilHandler(
- currGun.recoil.hr,
- currGun.recoil.vr,
- currRecoilArr[0],
- currRecoilArr[1],
- currRecoilArr[2]
- );
- recoilAvailable = true;
- } else {
- recoilAvailable = false;
- }
- if (chart == "none") {
- recoilAvailable = false;
- }
- if (chart == "err" || currAttachments == "err") {
- hasError = true;
- return "Cocaineeee";
- }
- const dmg =
- common.damageHandler(
- currDRM.damage,
- currDRM.range,
- 1,
- 100,
- 60000 / currStats[5],
- currStats[7],
- currStats[6],
- currStats[0]
- ) || "```This should never happen```";
- out = [
- currGun.description
- ? {
- name: "**Description:**",
- value: "```\n" + currGun.description + "```",
- }
- : {},
- { name: "**Damage Profile:**", value: dmg },
- ...out,
- ];
- out = out.filter(x => x.value);
- return {
- title: interpretion,
- color: 5814783,
- fields: out,
- footer: {
- text: "All data courtesy of Project Lighthouse and CoDM Research Crew",
- icon_url:
- "https://media.discordapp.net/attachments/735590814662656102/806960573753327657/cc.png?width=638&height=638",
- },
- };
-}
-// console.log(statsHandler("Holger").fields);
diff --git a/command/APEX/sens.js b/command/APEX/sens.js
@@ -1,9 +1,9 @@
const { MessageEmbed } = require("discord.js");
module.exports = {
- name: "class",
+ name: "sensitivity",
description: "Get the perfect sensitivity for APEXM",
category: "APEX",
- usage: "[Ironsight Sensitivity ]",
+ usage: "[Ironsight Sensitivity]",
type: "CHAT_INPUT",
options: [
{
@@ -18,7 +18,7 @@ module.exports = {
const embed = new MessageEmbed()
.setTitle(`The base sensitivity (ironsight or 1x Scope): ${args[0]}`)
.setDescription(
- `<:nyx_description:897379659665264650> [Video guide](https://rebrand.ly/apexm-sens) by HawksNest on how to set your sensitivity.
+ `<:nyx_description:897379659665264650> [Video guide](https://rebrand.ly/apexm-sens) by HawksNest on how to set your sensitivity.
\n**Basic Sensitivity** \`\`\`
\nTPP without ADS ${args[0] * 2.09}
\nFPP without ADS ${args[0] * 1.29}
diff --git a/command/Information/avatar.js b/command/Information/avatar.js
@@ -18,7 +18,7 @@ module.exports = {
interaction.guild.members.cache.get(args[0]) || interaction.member;
const embed = new MessageEmbed()
.setAuthor({
- text: member.user.tag,
+ name: member.user.tag,
iconURL: member.user.displayAvatarURL({ dynamic: true, size: 1024 }),
})
.setColor(client.color)
diff --git a/command/Information/botinfo.js b/command/Information/botinfo.js
@@ -1,5 +1,5 @@
const { MessageEmbed, version: djsversion } = require("discord.js");
-const version = require("../../../package.json").version;
+const version = require("../../package.json").version;
const { utc } = require("moment");
module.exports = {
name: "botinfo",
@@ -36,7 +36,7 @@ module.exports = {
.reduce((a, b) => a + b.memberCount, 0)
.toLocaleString()}
Channels ❯ \`${client.channels.cache.size.toLocaleString()}\`
- Commands ❯ \`${client.commands.size}\`
+ Commands ❯ \`${client.slashCommands.size}\`
`,
inline: true,
}
diff --git a/command/Information/help.js b/command/Information/help.js
@@ -80,10 +80,10 @@ module.exports = {
.setThumbnail(
"https://media.discordapp.net/attachments/896078559293104128/896392631565828146/nyx_logo_transparent.webp"
)
- .setFooter(
- `Requested by ${interaction.user.tag}`,
- interaction.user.displayAvatarURL({ dynamic: true })
- );
+ .setFooter({
+ text: `Requested by ${interaction.user.tag}`,
+ iconURL: interaction.user.displayAvatarURL({ dynamic: true }),
+ });
const components = state => [
new Discord.MessageActionRow().addComponents(
new Discord.MessageSelectMenu()
diff --git a/data/APEX/apex.json b/data/APEX/apex.json
@@ -0,0 +1,49 @@
+{
+ "legends": [
+ "Bangalore",
+ "Bloodhound",
+ "Caustic",
+ "Crypto",
+ "Fuse",
+ "Gibraltar",
+ "Horizon",
+ "LIfeline",
+ "Loba",
+ "Mirage",
+ "Octane",
+ "Pathfinder",
+ "Rampart",
+ "Revenant",
+ "Valkyrie",
+ "Watton",
+ "Wraith"
+ ],
+ "guns": [
+ "Bocek Bow",
+ "EVA-8",
+ "Kraber",
+ "Peacekeeper",
+ "Prowler",
+ "R-301 Carbine",
+ "R-99",
+ "Spitfire",
+ "Charge Rifle",
+ "Flatline",
+ "G7 Scout",
+ "Havoc",
+ "Mastiff",
+ "Sentinel",
+ "Triple Take",
+ "Volt",
+ "Wingman",
+ "Alternator",
+ "Devotion",
+ "Hemlok",
+ "Longbow",
+ "L-Star",
+ "RE-45",
+ "30-30 Repeater",
+ "Mozambique",
+ "P2020"
+ ]
+}
+\ No newline at end of file
diff --git a/CODM/loadout.js b/data/CODM/loadout.js
diff --git a/CODM/new-stats.js b/data/CODM/new-stats.js
diff --git a/data/CODM/stats.js b/data/CODM/stats.js
@@ -0,0 +1,297 @@
+const common = require("../../util/functions/common");
+const data = require("../../util/Data/data.json");
+const { MessageEmbed } = require("discord.js");
+
+let currGun,
+ currStats,
+ currAttachments,
+ currRecoilArr,
+ currDRM,
+ interpretion,
+ recoilAvailable,
+ chart,
+ hasError;
+module.exports = {
+ name: "stats",
+ description: "Check gun statistics",
+ usage: "(Gun)",
+ category: "CODM",
+ options: [
+ {
+ type: 3,
+ name: "gun_name",
+ description: "Name of the gun",
+ required: true,
+ choices: [],
+ },
+ {
+ type: 3,
+ name: "1st_attchment",
+ description: "First attachment",
+ },
+ {
+ type: 3,
+ name: "2nd_attchment",
+ description: "Second attachment",
+ },
+ {
+ type: 3,
+ name: "3rd_attchment",
+ description: "Third attachment",
+ },
+ {
+ type: 3,
+ name: "4th_attchment",
+ description: "Forth attachment",
+ },
+ {
+ type: 3,
+ name: "5th_attchment",
+ description: "Fifth attachment",
+ },
+ ],
+ run: async (client, interaction, args) => {
+ repEmb = null;
+ recoilAvailable = false;
+ hasError = false;
+ if (args.length == 1)
+ repEmb = statsHandler(args.join(" ").replace("\n", " "));
+ else repEmb = statsHandler(args.join(" + ").replace("\n", " "));
+ if (hasError) {
+ interaction.followUp({
+ content: `**${repEmb || "An error has occured"}**`,
+ });
+ } else {
+ if (recoilAvailable) {
+ repEmb.fields.push({
+ name: "**Recoil Graph**",
+ value:
+ "```\nThe Recoil graph below is dynamic (change based on attachment equipped)```",
+ });
+ const recoilImageLink = await chart.getShortUrl();
+ repEmb.image = { url: recoilImageLink };
+ }
+ interaction.followUp({ embeds: [new MessageEmbed(repEmb)] });
+ }
+ },
+};
+
+function inpHandler(inpmsg) {
+ statsHandler(inpmsg.split("+")[0]);
+}
+
+function statsHandler(inpmsg) {
+ let statsNames = [
+ "Pellets", //0
+ "Detonation Range", //1
+ "Explosion Radius", //2
+ "Explosion Damage", //3
+ "Firing Mode", //4
+ "Rate of Fire", //5
+ "Bullet in Burst", //6
+ "Time Between Burst", //7
+ "Bullet Speed", //8
+ "Penetration Level", //9
+ "Bullet Spread", //10
+ "Idle Sway", //11
+ "Hipfire Pellet Spread", //12
+ "ADS Pellet Spread", //13
+ "ADS Time", //14
+ "Sprint-to-Fire Time", //15
+ "ADS Zoom", //16
+ "Magazine", //17
+ "Reserve", //18
+ "Reload Type", //19
+ "Cancel Reload Time", //20
+ "Reload Time", //21
+ "Full Reload Time", //22
+ "Drop Time", //23
+ "Raise Time", //24
+ "Sprinting Speed", //25
+ "Walking Speed", //26
+ "Straifing Speed", //27
+ "Damage per Tick", //28
+ "Number of Ticks", //29
+ "Time Between Ticks", //30
+ "Breath Hold Time", //31
+ "shouldNeverHappen0",
+ "shouldNeverHappen1",
+ "shouldNeverHappen2",
+ "shouldNeverHappen3",
+ "shouldNeverHappen4",
+ ],
+ out = [];
+
+ currGun = common.weaponIdentifier(inpmsg);
+ if (typeof currGun == "string") {
+ hasError = true;
+ return currGun;
+ }
+ currStats = currGun.stats;
+ currDRM = currGun.drm[0]; // base mag. currGun.drm[1] for more vairents
+ currAttachments = [];
+ currAttachments = common.attachmentsIdentifier(inpmsg, currGun);
+ if (typeof currAttachments == "string") {
+ hasError = true;
+ return currAttachments;
+ }
+ currRecoilArr = [1, 1, currGun.stats[17]];
+ if (currAttachments.length != 0) {
+ const totalEffects = common.totaler(currAttachments);
+
+ currStats = common.updateStatswithEffects(totalEffects, currStats);
+ currRecoilArr = [totalEffects[2], totalEffects[3], currGun.stats[17]]; // must happen after currStats update
+ currDRM = currGun.drm[totalEffects[37]];
+ currDRM.range = currDRM.range.map(x =>
+ Math.round(x * (1 + totalEffects[13] / 100))
+ );
+ out = common.attachmentHandler(totalEffects, currStats);
+ }
+ function statsWorker() {
+ if (currStats[19] === 2) {
+ currStats[21] =
+ currStats[20] + currStats[21] * currStats[17] + currStats[22];
+ currStats[20] = 0;
+ currStats[22] = 0;
+ }
+ currStats[25] = (currStats[25] * currStats[26]) / 100;
+
+ const outReady = currStats.map((x, i) =>
+ x ? statsNames[i].padEnd(24) + ":".padEnd(3) + beautifier(i) : ""
+ );
+ out = [
+ ...[
+ "Basic Stats",
+ "ADS Stats",
+ "Bullet Stats",
+ "Magazine",
+ "Handling Stats",
+ "Mobility Stats",
+ "Miscellaneous Stats",
+ ].map((x, i) =>
+ fieldMaker(
+ x,
+ [
+ [04, 05, 09],
+ [14, 16, 11, 31],
+ [00, 06, 07, 08, 10, 12, 13],
+ [17, 18, 19, 20, 21, 22],
+ [23, 24],
+ [25, 26, 27, 15],
+ [28, 29, 30, 01, 02, 03],
+ ][i]
+ )
+ ),
+ ...out,
+ ];
+ function fieldMaker(inpName, inpIndx) {
+ inpIndx = inpIndx.filter(x => outReady[x]);
+ return inpIndx.length
+ ? {
+ name: `**${inpName}**`,
+ value: `\`\`\`\n${inpIndx.map(x => outReady[x]).join("\n")}\`\`\``,
+ }
+ : "";
+ }
+ }
+ statsWorker();
+
+ function beautifier(j) {
+ switch (j) {
+ case 04:
+ return data.firingModes[currStats[j] - 1];
+ case 09:
+ return data.penetrationLevels[currStats[j] - 1];
+ case 19:
+ return data.reloadTypes[currStats[j] - 1];
+ case 08:
+ if (currStats[j] == -1) {
+ return "Infinity";
+ } else {
+ return parseFloat(currStats[j].toFixed(2)).toString() + " m/s";
+ }
+ case 03:
+ return parseFloat(currStats[j].toFixed(2))
+ .toString()
+ .replace(".", " ~ ");
+ default:
+ return parseFloat(currStats[j].toFixed(2)).toString() + addUnit(j);
+ }
+
+ function addUnit(j) {
+ switch (j) {
+ case 7:
+ case 14:
+ case 15:
+ case 23:
+ case 24:
+ case 31:
+ return " ms";
+ case 25:
+ case 26:
+ case 27:
+ case 28:
+ return " m/s";
+ case 20:
+ case 21:
+ case 22:
+ return " s";
+ case 16:
+ return "%";
+ case 6:
+ return " Rounds";
+ case 5:
+ return " RPM";
+ default:
+ return "";
+ }
+ }
+ }
+ interpretion = currGun.gunname + common.interpretioner(currAttachments);
+ if (currGun.recoil.hr.length > 2) {
+ chart = common.recoilHandler(
+ currGun.recoil.hr,
+ currGun.recoil.vr,
+ currRecoilArr[0],
+ currRecoilArr[1],
+ currRecoilArr[2]
+ );
+ recoilAvailable = true;
+ } else recoilAvailable = false;
+
+ if (chart == "none") recoilAvailable = false;
+ if (chart == "err") hasError = true;
+
+ const dmg =
+ common.damageHandler(
+ currDRM.damage,
+ currDRM.range,
+ 1,
+ 100,
+ 60000 / currStats[5],
+ currStats[7],
+ currStats[6],
+ currStats[0]
+ ) || "```This should never happen```";
+ out = [
+ currGun.description
+ ? {
+ name: "**Description:**",
+ value: `\`\`\`\n${currGun.description}\`\`\``,
+ }
+ : {},
+ { name: "**Damage Profile:**", value: dmg },
+ ...out,
+ ];
+ out = out.filter(x => x.value);
+ return {
+ title: interpretion,
+ color: 5814783,
+ fields: out,
+ footer: {
+ text: "[OUTDATED] All data courtesy of Project Lighthouse 2.0 and CoDM Research Crew",
+ icon_url:
+ "https://media.discordapp.net/attachments/735590814662656102/806960573753327657/cc.png",
+ },
+ };
+}
diff --git a/events/interactionCreate.js b/events/interactionCreate.js
@@ -63,19 +63,19 @@ client.on("interactionCreate", async interaction => {
embeds: [
new MessageEmbed()
.setURL(client.web)
- .setAuthor(
- interaction.user.tag,
- interaction.user.displayAvatarURL({ dynamic: true })
- )
+ .setAuthor({
+ name: interaction.user.tag,
+ iconURL: interaction.user.displayAvatarURL({ dynamic: true }),
+ })
.setColor(client.color)
.setDescription(
`You aren't a premium user. You can either boost support server or subscribe to developer's team [Ko-fi](https://ko-fi.com/cathteam) or gift a nitro to one of the developer team to be premium user`
)
.setTimestamp()
- .setFooter(
- `Made by ${client.author}`,
- client.user.displayAvatarURL()
- ),
+ .setFooter({
+ text: `Made by ${client.author}`,
+ iconURL: client.user.displayAvatarURL(),
+ }),
],
});
}
@@ -209,5 +209,6 @@ function sendE(e) {
.setTimestamp()
.setColor(client.color)
.setFooter({ text: client.user.username });
+ interaction.channel.send({ embeds: [embed] });
client.channels.cache.get(client.config.ErrorLog).send({ embeds: [embed] });
}
diff --git a/index.js b/index.js
@@ -1,5 +1,6 @@
const NYX = require("./client/NYX");
const client = new NYX();
module.exports = client;
-process.on("unhandledRejection", () => {});
+// Add // when need to debug
+//process.on("unhandledRejection", () => {});
client.start();
diff --git a/util/Data/domains.json b/util/Data/domains.json
@@ -1,5 +1,7 @@
{
"scam": [
+ "gibthub.com",
+ "egift-premium.com",
"disceord.gift",
"discode.gift",
"discosb.gift",