diff --git a/.github/README.md b/.github/README.md
index f447ca8..fe8030d 100644
--- a/.github/README.md
+++ b/.github/README.md
@@ -18,18 +18,18 @@
-
-**NYX** *(previously known as Cath)* is a first and only **COD Mobile Statistics & Gunsmith** Bot which also doubles as a multipurpose discord bot with many features that include but are not limited to Moderation, Music and Economy.
+**NYX** _(previously known as Cath)_ is a first and only **COD Mobile Statistics & Gunsmith** Bot which also doubles as a multipurpose discord bot with many features that include but are not limited to Moderation, Music and Economy.
The Call of Duty Stats are courtesy of **Round Table** by Cygnoux Familia.
If you like this bot, feel free to :star: **Star** this repository.
> ⚠ The Verifed bot instance is current called Cath.exe, we are working on getting it changed
-
+>
-# Features
-> *This is a Non-Exhaustive list for commands. To access the full list of commands, check out our [Documentation](https://thunder75.gitbook.io/cath-bot/core/commands).*
+# Features
+
+> _This is a Non-Exhaustive list for commands. To access the full list of commands, check out our [Documentation](https://thunder75.gitbook.io/cath-bot/core/commands)._
@@ -60,7 +60,6 @@ If you like this bot, feel free to :star: **Star** this repository.
A detailed Deployment guide can be found [here](https://thunder75.gitbook.io/cath-bot/deployment).
-
+
⠀
+
diff --git a/CODM/class.js b/CODM/class.js
deleted file mode 100644
index 8cc2409..0000000
--- a/CODM/class.js
+++ /dev/null
@@ -1,55 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-const model = require("../../models/weapons");
-const Attachments = require("../../util/Data/attachments.json");
-module.exports = {
- name: "class",
- description: "Generate random class in CODM",
- category: "CODM",
- run: async (client, message, args) => {
- const data = async () => {
- const d = await model.findOne({});
- const types = d.Categories;
- const names = d.Primary;
- const category = types[Math.floor(Math.random() * types.length)];
- const weapons = names[0][category];
- return `${weapons[Math.floor(Math.random() * weapons.length)]}`;
- };
- const primary_weapon = await data();
- const primary = primary_weapon.replace(/[ -]/g, "_").replace(/\./g, "");
- const slots = shuffle(Object.keys(Attachments[primary][0]));
- const slot_1 = slots.next().value,
- slot_2 = slots.next().value,
- slot_3 = slots.next().value,
- slot_4 = slots.next().value,
- slot_5 = slots.next().value;
- const result = new MessageEmbed()
- .setColor(client.color)
- .setTitle(`🎲Random Class of ${primary_weapon}🎲`)
- .setDescription(
- `**Attachments**\n**${getAttachment(
- primary,
- slot_1,
- )}**\n**${getAttachment(primary, slot_2)}**\n**${getAttachment(
- primary,
- slot_3,
- )}**\n**${getAttachment(primary, slot_4)}**\n**${getAttachment(
- primary,
- slot_5,
- )}**`,
- )
- .setURL(client.web)
- .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL())
- .setTimestamp();
- message.reply({ embeds: [result] });
- function* shuffle(array) {
- let i = array.length;
- while (i--) {
- yield array.splice(Math.floor(Math.random() * (i + 1)), 1)[0];
- }
- }
- function getAttachment(gun, slot) {
- const ca = Attachments[gun][0][slot];
- return ca[Math.floor(Math.random() * ca.length)];
- }
- },
-};
diff --git a/CODM/damage.js b/CODM/damage.js
deleted file mode 100644
index 7599226..0000000
--- a/CODM/damage.js
+++ /dev/null
@@ -1,118 +0,0 @@
-const common = require("../../util/functions/common");
-let currGun = {},
- currStats = [],
- currAttachments = {},
- currDRM = {},
- totalEffects = [],
- interpretion = "",
- hasError = false;
-const errMsg = "*Generic placeholder error message*";
-
-module.exports = {
- name: "damage",
- description: "Check gun damage",
- usage: "(Gun)",
- category: "CODM",
- run: async (client, message, args) => {
- const repEmb = dmg(args.join(" ").replace("\n", " "));
- if (hasError) {
- message.reply({ embeds: [repEmb] });
- }
- else {
- message.channel.send({ embeds: [repEmb] });
- }
- },
-};
-
-function dmg(inpmsg) {
- currGun = common.weaponIdentifier(inpmsg);
- if (typeof currGun == "string") {
- hasError = true;
- return currGun;
- }
- currDRM = currGun.drm[0];
- currStats = currGun.stats;
- currAttachments = common.attachmentsIdentifier(
- inpmsg,
- currGun.aments,
- currStats,
- );
- if (typeof currAttachments == "string") {
- hasError = true;
- return currAttachments;
- }
- if (currAttachments.length) {
- totalEffects = common.totaler(currAttachments);
- currDRM = currGun.drm[totalEffects[37]];
- currDRM.range = currDRM.range.map(
- x => (x * (totalEffects[13] + 100)) / 100,
- );
- currStats = common.updateStatswithEffects(totalEffects, currStats);
- }
- const mn = [
- "Head",
- "Neck",
- "Upper Chest",
- "Lower Chest",
- "Shoulders",
- "Upper Arms",
- "Lower Arms",
- "Stomach",
- "Belly Button",
- "Crotch",
- "Thighs",
- "Calf Muscles",
- "Feet",
- ],
- m1 = currDRM.bodymultiplier,
- m2 = [...new Set(m1)], // [1.2, 1, 0.9]
- m3 = m1.map(x => m2.indexOf(x)), // [0, 1, 1, 1, 1, 1, 2, 2, 2]
- m4 = m2
- .map(x =>
- m3
- .map((y, i) => {
- if (x === m2[y]) {
- return mn[i];
- }
- })
- .filter(y => y),
- )
- .map(x =>
- x.length === m1.length
- ? ["All"]
- : x.length === m1.length - 1
- ? ["Others"]
- : x,
- );
- interpretion = currGun.gunname + common.interpretioner(currAttachments);
- return {
- title: "**" + interpretion + "**",
- color: 4849497,
- fields: m4.map((x, i) => {
- return {
- name: x.join(", ") + ":",
- value: common.damageHandler(
- currDRM.damage,
- currDRM.range,
- m2[i],
- 100,
- 60000 / currStats[5],
- currStats[7],
- currStats[6],
- currStats[0],
- ),
- };
- }),
- footer: {
- text: "All the stats courtesy of Project Lighthouse",
- icon_url:
- "https://media.discordapp.net/attachments/735590814662656102/806960573753327657/cc.png?width=638&height=638",
- },
- };
-}
-// console.log(dmg("47 + mono"));
-/* console.log(dmg("47"));
-console.log(dmg("striker + choke"));
-console.log(dmg("striker + choke"));
-console.log(dmg("striker"));
-common.makeError();*/
diff --git a/CODM/effects.js b/CODM/effects.js
deleted file mode 100644
index c4133bb..0000000
--- a/CODM/effects.js
+++ /dev/null
@@ -1,168 +0,0 @@
-const common = require("../util/functions/common");
-const data = require("../util/Data/data.json");
-
-let currGun, currAttachments, interpretion, hasError;
-const errMsg = "*Generic placeholder error message*";
-
-module.exports = {
- name: "effects",
- description: "Check gun effects",
- usage: "(Gun)",
- category: "CODM",
- aliases: ["attachements"],
- /**
- * @param {Client} client
- * @param {Message} message
- * @param {String[]} args
- */
- run: async (client, message, args) => {
- const repEmb = attachments(args.join(" ").replace("\n", " "));
- if (hasError) {
- message.reply({ embeds: [repEmb] });
- } else {
- message.channel.send({ embeds: [repEmb] });
- }
- },
-};
-
-function attachments(inpmsg) {
- const out = "",
- at = data.attachmentTypes.map(x => (x.slice(-1) === "s" ? x : x + "s"));
- if (inpmsg.includes("+") && inpmsg.includes(":")) {
- hasError = true;
- return "Bro, can u liek, not do that?";
- }
- if (inpmsg.includes(":")) {
- const inpAll = inpmsg
- .split(":")
- .map(x => x.trim())
- .filter(x => x),
- inpType = inpAll.length === 2 ? inpAll[1] : null;
- if (!inpType) {
- hasError = true;
- return inpAll.length < 2
- ? "Empty " + (inpAll[0] ? "" : "weapon name and ") + "attachment type"
- : "Multiple `:`s detected";
- }
- currGun = common.weaponIdentifier(inpAll[0]);
- if (typeof currGun == "string") {
- hasError = true;
- return currGun;
- }
- let currAttachmentsType = at.filter(x => simplify(x) == simplify(inpType));
- currAttachmentsType = currAttachmentsType.length
- ? currAttachmentsType
- : at.filter(
- x => simplify(x.substring(0, x.length - 1)) == simplify(inpType)
- );
- currAttachmentsType = currAttachmentsType.length
- ? currAttachmentsType
- : at.filter(x => simplify(x).includes(simplify(inpType)));
- if (currAttachmentsType.length === 0) {
- hasError = true;
- return "Couldn't identify `" + inpType + "`";
- } else if (currAttachmentsType.length === 1) {
- currAttachmentsType = at.indexOf(currAttachmentsType[0]);
- } else {
- hasError = true;
- return (
- "Did you mean `" +
- currAttachmentsType.reduce((out, x, i) =>
- [out, x].join(
- i === currAttachmentsType.length - 1 ? "` or `" : "`, `"
- )
- ) +
- "`"
- );
- }
- return {
- title: currGun.gunname,
- color: 11348938,
- fields: [
- {
- name:
- "**" +
- currGun.gunname +
- "** has the following " +
- at[currAttachmentsType],
- value:
- "```\n" +
- currGun.aments
- .filter(x => x.type - 1 === currAttachmentsType)
- .map(x => x.name)
- .join("\n") +
- "```",
- },
- ],
- footer: {
- text: "All the stats courtesy of Project Lighthouse",
- icon_url:
- "https://media.discordapp.net/attachments/735590814662656102/806960573753327657/cc.png?width=638&height=638",
- },
- };
- function simplify(v) {
- return v.toLowerCase().replace(/[^0-9a-z]/g, "");
- }
- }
- currGun = common.weaponIdentifier(inpmsg);
- if (typeof currGun == "string") {
- hasError = true;
- return currGun;
- }
- hasAttachments = common.hasAttachments(inpmsg);
- currAttachments = [];
- if (hasAttachments) {
- currAttachments = common.attachmentsIdentifier(
- inpmsg,
- currGun.aments,
- currGun.stats
- );
- if (typeof currAttachments == "string") {
- hasError = true;
- return currAttachments;
- }
- return {
- title: currGun.gunname + common.interpretioner(currAttachments),
- color: 11348938,
- fields: common.attachmentHandler(
- common.totaler(currAttachments),
- currGun.stats
- ),
- footer: {
- text: "All the stats courtesy of Project Lighthouse",
- icon_url:
- "https://media.discordapp.net/attachments/735590814662656102/806960573753327657/cc.png?width=638&height=638",
- },
- };
- } else {
- const availableAttachmentTypes = [
- ...new Set(currGun.aments.map(x => x.type)),
- ];
- return {
- title: currGun.gunname,
- color: 11348938,
- fields: [
- {
- name:
- "**" + currGun.gunname + "** has the following attachment types:",
- value:
- "```\n" +
- availableAttachmentTypes.map(x => at[x - 1]).join(",\n") +
- "```",
- },
- ],
- footer: {
- text: "All the stats courtesy of Project Lighthouse",
- icon_url:
- "https://media.discordapp.net/attachments/735590814662656102/806960573753327657/cc.png?width=638&height=638",
- },
- };
- }
-}
-// console.log(attachments("Peacekeeper:muzzle")); //common.makeError();
-/* console.log(attachments(":")); //common.makeError();
-console.log(attachments("47:optics")); //common.makeError();
-console.log(attachments("47")); //common.makeError();
-console.log(attachments("47 + ")); //common.makeError();
-console.log(attachments("47 + :")); //common.makeError();
-console.log(attachments("47 + red dot")); common.makeError();*/
diff --git a/CODM/sgrelo.js b/CODM/sgrelo.js
deleted file mode 100644
index 1907f23..0000000
--- a/CODM/sgrelo.js
+++ /dev/null
@@ -1,111 +0,0 @@
-module.exports = {
- name: "sgrelo",
- descriptiom: "Calculate reload time for shotgun",
- run: async (client, message, args) => {
- let err = "",
- wrn = "",
- interpretedAs = [];
- function mather(inp) {
- const inpArr = interpreter(inp),
- outArr = [];
- inpArr.map((x, i, a) => {
- for (let j = i + 1; j < a.length; j++) {
- outArr.push(worker(x, a[j]));
- }
- });
- const aArr = outArr.map(x => x.a),
- iArr = outArr.map(x => x.i);
- return (
- "Input: `" +
- interpretedAs.join("`, `") +
- "`" +
- (aArr.length == 1
- ? "\nOpening and Closing Animation Time: " +
- beautifier(aArr[0]) +
- "\nReload Time: " +
- beautifier(iArr[0])
- : "\nAll Opening and Closing Animation Time: " +
- aArr.map(x => beautifier(x)).join(", ") +
- "\nAll Reload Time: " +
- iArr.map(x => beautifier(x)).join(", ") +
- "\nAverage Opening and Closing Animation Time: " +
- beautifier(aArr.reduce((t, x) => t + x, 0) / aArr.length) +
- "\nAverage Reload Time: " +
- beautifier(iArr.reduce((t, x) => t + x, 0) / iArr.length))
- );
- }
-
- function interpreter(inp) {
- let out = [
- ...new Set(
- inp
- .split(/\n|, |,/g)
- .filter(x => x)
- .map(x => x.toLowerCase().replace(/[^0-9a-z]/g, ""))
- ),
- ];
- out = out
- .map(x => {
- interpretedAs.push(x);
- const obj = {
- b: 0,
- f: 0,
- };
- if (
- x.split(/b/g).length > 2 ||
- x.split(/f/g).length > 2 ||
- x.split(/[a-z]/g).length > 3
- ) {
- err += "Unknown identifier `" + x + "`\n";
- } else if (x.indexOf("b") === -1 || x.indexOf("f") === -1) {
- err += "Missing identifier `" + x + "`\n";
- } else if (x.indexOf("b") === x.length - 1) {
- obj.b = parseFloat(x.split("f")[1].trim());
- obj.f = parseFloat(x.split("f")[0].trim());
- } else if (x.indexOf("f") === x.length - 1) {
- obj.b = parseFloat(x.split("b")[0].trim());
- obj.f = parseFloat(x.split("b")[1].trim());
- } else {
- err += "Unknown identifier `" + x + "`\n";
- }
- if (!obj.b && obj.f) {
- err += "Couldn't interpret `" + x + "`\n";
- } else if (!Number.isInteger(obj.b)) {
- err += "Decimal bullet count found `" + x + "`\n";
- } else if (!Number.isInteger(obj.f)) {
- wrn += "Decimal value found `" + x + "`\n";
- }
- return obj;
- })
- .filter(x => JSON.stringify(x).length && x);
- if (out.length === 1) {
- err += "Single equation found\n";
- }
- return err || !out.length ? [] : out;
- }
-
- function worker(o1, o2) {
- const out = {
- i: 0,
- a: 0,
- };
- out.i = (o1.f - o2.f) / (o1.b - o2.b);
- out.a = o1.f - out.i * o1.b;
- return out;
- }
-
- function beautifier(num) {
- return parseFloat(num.toFixed(2)).toString() + "s";
- }
-
- const msg = mather(args.join(" "));
-
- if (err !== "") {
- message.reply(err);
- } else if (wrn !== "") {
- message.reply({ content: wrn + "\n" + msg });
- } else {
- message.channel.send({ content: msg });
- }
- },
-};
diff --git a/client/NYX.js b/client/NYX.js
index 3137c6f..fd10924 100644
--- a/client/NYX.js
+++ b/client/NYX.js
@@ -14,7 +14,7 @@ class NYX extends Client {
presence: {
activities: [
{
- name: `v${require("../package.json").version} | /help`,
+ name: `/help`,
type: "STREAMING",
url: "https://www.youtube.com/watch?v=YSKDu1gKntY",
},
diff --git a/command/CODM/build.js b/command/CODM/build.js
index fc7c83e..c81ca68 100644
--- a/command/CODM/build.js
+++ b/command/CODM/build.js
@@ -116,7 +116,7 @@ module.exports = {
},
{
name: "Jokesta",
- value: "jokesta",
+ value: "jokesta",D
},
// {
// name: "Stats On Duty",
@@ -768,9 +768,9 @@ module.exports = {
},
}
)
- .then((res) => res.data)
- .catch();
- if (!data) {
+ .then(res => res.data)
+ .catch(e => null);
+ if (!data?.ID) {
const embed = new MessageEmbed()
.setDescription(
`<:nyx_not_available:897378400031879188> We don't have a ${all[tag]} **${allguns[gun]}** gunsmith build by **${all[cc]}**, Please try another tag or a differnt content creator`
diff --git a/command/CODM/damage.js b/command/CODM/damage.js
index 92436fb..3b785bd 100644
--- a/command/CODM/damage.js
+++ b/command/CODM/damage.js
@@ -15,7 +15,7 @@ module.exports = {
category: "CODM",
options: [
{
- type: 7,
+ type: 3,
name: "gun",
description: "Gun name",
required: true,
diff --git a/command/CODM/watermark.js b/command/CODM/watermark.js
new file mode 100644
index 0000000..387c5d7
--- /dev/null
+++ b/command/CODM/watermark.js
@@ -0,0 +1,106 @@
+const axios = require("axios");
+const { MessageAttachment } = require("discord.js");
+module.exports = {
+ name: "watermark",
+ description: "Add a water to leaks",
+ options: [
+ {
+ type: 3,
+ name: "photo",
+ description: "Link of photo",
+ required: true,
+ },
+ {
+ type: 3,
+ name: "position",
+ description: "Where you want to place the water mark",
+ required: true,
+ choices: [
+ {
+ name: "Middle",
+ value: "middle",
+ },
+ {
+ name: "ButtomRight",
+ value: "buttomright",
+ },
+ ],
+ },
+ {
+ type: 3,
+ name: "opacity",
+ description:
+ "Opacity of watermark(50 - 100) Lower or higher will be ignored",
+ required: true,
+ },
+ {
+ type: 3,
+ name: "logo",
+ description: "The Logo you want to use",
+ required: true,
+ choices: [
+ {
+ name: "Discord Nicecat",
+ value: "discord_nicecat",
+ },
+ {
+ name: "NoLink Leakers",
+ value: "nolink_leakers",
+ },
+ {
+ name: "Discord Leakers",
+ value: "discord_leakers",
+ },
+ {
+ name: "DogeBeanie",
+ value: "doge",
+ },
+ {
+ name: "CODM N3W3",
+ value: "n3w3",
+ },
+ {
+ name: "Alyan Gaming",
+ value: "alyan",
+ },
+ {
+ name: "Murdablast",
+ value: "murdablast",
+ },
+ {
+ name: "Sasha",
+ value: "sasha",
+ },
+ {
+ name: "Umair Gamer",
+ value: "umair",
+ },
+ ],
+ },
+ {
+ type: 3,
+ name: "password",
+ description: "The password in order to use this command",
+ required: true,
+ },
+ ],
+ run: async (client, interaction, args) => {
+ const data = await axios
+ .get(
+ `${process.env.api}/api/v1/codm/watermark?photo=${args[0]}&position=${args[1]}&opacity=${args[2]}&logo=${args[3]}&password=${args[4]}`
+ )
+ .then(res => res.data)
+ .catch();
+ if (!data) {
+ interaction.followUp({
+ content: "You have either wrong input or you are unauthorized",
+ });
+ } else {
+ const ima = new MessageAttachment(
+ `${process.env.api}/api/v1/codm/watermark?photo=${args[0]}&position=${args[1]}&opacity=${args[2]}&logo=${args[3]}&password=${args[4]}`,
+ `${args[2]}.png`
+ );
+ interaction.followUp({ files: [ima] });
+ }
+ },
+};
diff --git a/command/NSFW/milf.js b/command/NSFW/milf.js
deleted file mode 100644
index 8c3e19c..0000000
--- a/command/NSFW/milf.js
+++ /dev/null
@@ -1,40 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-const { getreddit } = require("cath");
-module.exports = {
- name: "milf",
- description: "Get some milf images",
- run: async (client, interaction) => {
- if (!interaction.channel.nsfw) {
- const embed = new MessageEmbed()
- .setTitle(`AYO Calm Yo Cheeks`)
- .setDescription("This command only works in NSFW Channels!")
- .setImage(
- "https://media.discordapp.net/attachments/851761493815853060/893777701599584266/warning.gif"
- )
- .setColor(client.color)
- .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL())
- .setTimestamp();
- interaction.followUp({ embeds: [embed] });
- } else {
- const subreddits = ["milf", "OnlyHotMilfs", "realmoms"];
- const reddit = subreddits[Math.round(Math.random() * subreddits.length)];
- const data = await getreddit(reddit);
- interaction.followUp({
- embeds: [
- new MessageEmbed({
- title: data.title,
- url: data.url,
- image: { url: data.image },
- timestamp: Date.now(),
- footer: { text: data.footer },
- color: client.color,
- author: {
- name: interaction.user.tag,
- iconURL: interaction.user.displayAvatarURL({ dynamic: true }),
- },
- }),
- ],
- });
- }
- },
-};
diff --git a/command/NSFW/thighs.js b/command/NSFW/thighs.js
deleted file mode 100644
index da04be8..0000000
--- a/command/NSFW/thighs.js
+++ /dev/null
@@ -1,42 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-const { getreddit } = require("cath");
-module.exports = {
- name: "thighs",
- description: "Get some thighs images",
- run: async (client, interaction) => {
- if (!interaction.channel.nsfw) {
- const embed = new MessageEmbed()
- .setTitle(`AYO Calm Yo Cheeks`)
- .setDescription("This command only works in NSFW Channels!")
- .setImage(
- "https://media.discordapp.net/attachments/851761493815853060/893777701599584266/warning.gif"
- )
- .setColor(client.color)
- .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL())
- .setTimestamp();
-
- interaction.followUp({ embeds: [embed] });
- return;
- } else {
- const subreddits = ["thighs", "PerfectThighs", "thickthighs"];
- const reddit = subreddits[Math.round(Math.random() * subreddits.length)];
- const data = await getreddit(reddit);
- interaction.followUp({
- embeds: [
- new MessageEmbed({
- title: data.title,
- url: data.url,
- image: { url: data.image },
- timestamp: Date.now(),
- footer: { text: data.footer },
- color: client.color,
- author: {
- name: interaction.user.tag,
- iconURL: interaction.user.displayAvatarURL({ dynamic: true }),
- },
- }),
- ],
- });
- }
- },
-};
diff --git a/command/Owner/guilds.js b/command/Owner/guilds.js
index 09f9c08..067ecc2 100644
--- a/command/Owner/guilds.js
+++ b/command/Owner/guilds.js
@@ -31,6 +31,18 @@ module.exports = {
}
)
.setColor(client.color)
+ .addFields(
+ {
+ name: `Total Guilds`,
+ value: client.guilds.cache.size,
+ inline: true,
+ },
+ {
+ name: `Total Members`,
+ value: client.users.cache.size,
+ inline: true,
+ }
+ )
.setFooter(`Made by ${client.author}`, client.user.displayAvatarURL())
.setTimestamp();
interaction.followUp({ embeds: [embed] });
diff --git a/config.js b/config.js
index 214b8bf..d318b9a 100644
--- a/config.js
+++ b/config.js
@@ -10,8 +10,8 @@ module.exports = {
ErrorLog: "900509758786773022",
ServerLog: "848613714537873518",
Lavalink: {
- Host: "lavalink.darrennathanael.com",
- Port: 2095,
- Password: "whatwasthelastingyousaid",
+ Host: "lavalink-repl.thunderemperor.repl.co",
+ Port: 443,
+ Password: "0638xxtXRH887UQQ",
},
};
diff --git a/events/ready.js b/events/ready.js
index 74dd568..d75ebe6 100644
--- a/events/ready.js
+++ b/events/ready.js
@@ -13,5 +13,5 @@ client.on("ready", async () => {
};
})
);
- console.log(`${client.user.username} ✅\nVersion: v${version}`);
+ console.log(`${client.user.username} ✅`);
});
diff --git a/package.json b/package.json
index 15c9e04..6ffbfc2 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "cath.exe",
- "version": "3.4.0",
+ "version": "0.0.1",
"description": "NYX bot created by Team NYX",
"engines": {
"node": "*",
@@ -37,18 +37,18 @@
"url": "https://ko-fi.com/cathteam"
},
"devDependencies": {
- "node": "^17.1.0"
+ "node": "^17.3.0"
},
"dependencies": {
"axios": "^0.24.0",
"cath": "^1.4.6",
- "discord.js": "^13.3.1",
- "dotenv": "^10.0.0",
+ "discord.js": "^13.5.1",
+ "dotenv": "^11.0.0",
"erela.js": "^2.3.3",
"erela.js-spotify": "^1.2.0",
"goosecache": "^9.0.14",
"moment": "^2.29.1",
- "mongoose": "^5.13.13",
- "quickchart-js": "^1.4.2"
+ "mongoose": "^5.13.14",
+ "quickchart-js": "^2.0.3"
}
}
diff --git a/scorestreak.js b/scorestreak.js
new file mode 100644
index 0000000..3c8983c
--- /dev/null
+++ b/scorestreak.js
@@ -0,0 +1,181 @@
+const { MessageEmbed } = require("discord.js");
+const { CODMClient } = require("cath");
+const c = new CODMClient("Gae");
+module.exports = {
+ name: "scorestreak",
+ description: "Get Scorestreak stats",
+ type: "CHAT_INPUT",
+ usage: "{Scorestreak}",
+ category: "CODM",
+ options: [
+ {
+ type: "SUB_COMMAND",
+ name: "lethal",
+ description: "Lethal Scorestreak",
+ options: [
+ {
+ type: 3,
+ name: "scorestreak",
+ description: "Select a lethal scorestreak",
+ required: true,
+ choices: [
+ {
+ name: "Shield Turret",
+ value: "shieldturret",
+ },
+ {
+ name: "Hunter Killer Drone",
+ value: "hunterkillerdrone",
+ },
+ {
+ name: "MQ-27 Dragonfire",
+ value: "mq27dragonfire",
+ },
+ {
+ name: "Predator Missile",
+ value: "predatormissile",
+ },
+ {
+ name: "Hawk X3",
+ value: "hawkx3",
+ },
+ {
+ name: "Sentry Gun",
+ value: "sentrygun",
+ },
+ {
+ name: "Lightning Strike",
+ value: "lightningstrike",
+ },
+ {
+ name: "Orbital Laser",
+ value: "orbitallaser",
+ },
+ {
+ name: "XS1 Goliath",
+ value: "xs1goliath",
+ },
+ {
+ name: "Cluster Strike",
+ value: "clusterstrike",
+ },
+ {
+ name: "XS1 Goliath",
+ value: "xs1goliath",
+ },
+ {
+ name: "Stealth Chopper",
+ value: "stealthchopper",
+ },
+ {
+ name: "Swarm",
+ value: "swarm",
+ },
+ {
+ name: "Napalm",
+ value: "napalm",
+ },
+ {
+ name: "VTOL",
+ value: "vtol",
+ },
+ ],
+ },
+ ],
+ },
+ {
+ type: "SUB_COMMAND",
+ name: "support",
+ description: "Support Scorestreak",
+ options: [
+ {
+ type: 3,
+ name: "scorestreak",
+ description: "Select a Support Scorestreak",
+ required: true,
+ choices: [
+ {
+ name: "UAV",
+ value: "uav",
+ },
+ {
+ name: "Shock RC",
+ value: "shockrc",
+ },
+ {
+ name: "Care Package",
+ value: "carepackage",
+ },
+ {
+ name: "Counter UAV",
+ value: "cuav",
+ },
+ {
+ name: "SAM Turret",
+ value: "samturret",
+ },
+ {
+ name: "Advance UAV",
+ value: "auav",
+ },
+ {
+ name: "EMP Systems",
+ value: "empsystems",
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ run: async (client, interaction, args) => {
+ const val = args[1];
+ const d = await c.getscorestreak(val);
+ const embed = new MessageEmbed()
+ .setTitle(d.scorestreak)
+ .setURL(d.preview_video)
+ .setDescription(`\`\`\`${d.description}\`\`\``)
+ .addFields(
+ {
+ name: "Cost",
+ value: `\`\`\`${d.cost}\`\`\``,
+ inline: true,
+ },
+ {
+ name: "Lethal",
+ value: `
+ ${
+ d.lethal == true
+ ? " Yes"
+ : " No"
+ }`,
+ inline: true,
+ },
+ {
+ name: "AI-Assisted",
+ value: `
+ ${
+ d.manual == false
+ ? " Yes"
+ : " No"
+ }`,
+ inline: true,
+ },
+ {
+ name: "More Info",
+ value: `\`\`\`${d.special}\`\`\``,
+ inline: false,
+ }
+ )
+ .setThumbnail(`${d.preview}`)
+ .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL())
+ .setColor(
+ d.type == "lethal"
+ ? "FF2222"
+ : d.type == "support"
+ ? "22FF4A"
+ : client.color
+ )
+ .setTimestamp();
+ interaction.followUp({ embeds: [embed] });
+ },
+};
diff --git a/command/Fun/choose.js b/unused/commands/Fun/choose.js
similarity index 100%
rename from command/Fun/choose.js
rename to unused/commands/Fun/choose.js
diff --git a/command/Fun/fun.js b/unused/commands/Fun/fun.js
similarity index 100%
rename from command/Fun/fun.js
rename to unused/commands/Fun/fun.js
diff --git a/command/Fun/hack.js b/unused/commands/Fun/hack.js
similarity index 100%
rename from command/Fun/hack.js
rename to unused/commands/Fun/hack.js
diff --git a/command/Fun/image.js b/unused/commands/Fun/image.js
similarity index 100%
rename from command/Fun/image.js
rename to unused/commands/Fun/image.js
diff --git a/command/Fun/kiss.js b/unused/commands/Fun/kiss.js
similarity index 100%
rename from command/Fun/kiss.js
rename to unused/commands/Fun/kiss.js
diff --git a/command/Fun/rps.js b/unused/commands/Fun/rps.js
similarity index 100%
rename from command/Fun/rps.js
rename to unused/commands/Fun/rps.js
diff --git a/command/Giveaway/giveaway.js b/unused/commands/Giveaway/giveaway.js
similarity index 98%
rename from command/Giveaway/giveaway.js
rename to unused/commands/Giveaway/giveaway.js
index bda8811..d6b5b6e 100644
--- a/command/Giveaway/giveaway.js
+++ b/unused/commands/Giveaway/giveaway.js
@@ -1,4 +1,4 @@
-const GiveawaysClient = require("../../client/GiveawaysClient");
+const GiveawaysClient = require("../../../client/GiveawaysClient");
module.exports = {
name: "giveaway",
description: "Giveaway",
diff --git a/command/Information/banner.js b/unused/commands/Information/banner.js
similarity index 100%
rename from command/Information/banner.js
rename to unused/commands/Information/banner.js
diff --git a/command/Information/botinfo.js b/unused/commands/Information/botinfo.js
similarity index 97%
rename from command/Information/botinfo.js
rename to unused/commands/Information/botinfo.js
index 927049b..08c48e2 100644
--- a/command/Information/botinfo.js
+++ b/unused/commands/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");
// const os = require("os");
module.exports = {
diff --git a/command/Information/serverinfo.js b/unused/commands/Information/serverinfo.js
similarity index 100%
rename from command/Information/serverinfo.js
rename to unused/commands/Information/serverinfo.js
diff --git a/command/Utilities/codebin.js b/unused/commands/Utilities/codebin.js
similarity index 90%
rename from command/Utilities/codebin.js
rename to unused/commands/Utilities/codebin.js
index 6c0faea..52a8ccb 100644
--- a/command/Utilities/codebin.js
+++ b/unused/commands/Utilities/codebin.js
@@ -1,4 +1,4 @@
-const CodeClient = require("../../client/CodeClient");
+const CodeClient = require("../../../client/CodeClient");
module.exports = {
name: "Create Code Bin",
type: "MESSAGE",
diff --git a/command/Utilities/docs.js b/unused/commands/Utilities/docs.js
similarity index 100%
rename from command/Utilities/docs.js
rename to unused/commands/Utilities/docs.js
diff --git a/command/Utilities/shorturl.js b/unused/commands/Utilities/shorturl.js
similarity index 94%
rename from command/Utilities/shorturl.js
rename to unused/commands/Utilities/shorturl.js
index a560fac..768edc4 100644
--- a/command/Utilities/shorturl.js
+++ b/unused/commands/Utilities/shorturl.js
@@ -1,4 +1,4 @@
-const URLClient = require("../../client/URLClient");
+const URLClient = require("../../../client/URLClient");
module.exports = {
name: "shorten-url",
description: "Shorten a URL",
diff --git a/util/Data/scam.json b/util/Data/scam.json
index 8baf333..28d6e43 100644
--- a/util/Data/scam.json
+++ b/util/Data/scam.json
@@ -1,4 +1,5 @@
[
+ "discrods.gift",
"discordsgift.com",
"steam-sourcecommunity1.xyz",
"dlscordnitro.info",