added missing files
This commit is contained in:
parent
75cd7580d2
commit
a216a4044d
3 changed files with 395 additions and 25 deletions
22
.github/changelog.md
vendored
22
.github/changelog.md
vendored
|
@ -1,37 +1,28 @@
|
||||||
<h1 align="center">Changelog</h1>
|
<h1 align="center">Changelog</h1>
|
||||||
|
|
||||||
# Release v3.3.0 Name Change
|
# Release v3.3.0 Name Change
|
||||||
|
|
||||||
We have changed the name of our bot from **Cath.exe** to **NYX**. We have not yet decided on changing the backend names that includes the api & package.
|
We have changed the name of our bot from **Cath.exe** to **NYX**. We have not yet decided on changing the backend names that includes the api & package.
|
||||||
|
|
||||||
## Added
|
## Added
|
||||||
|
|
||||||
- Added guns to be bought using internal currency.
|
- Added guns to be bought using internal currency.
|
||||||
- Added more items in the shops.
|
- Added more items in the shops.
|
||||||
- Updated names of contributers in the bot info.
|
- Updated names of contributers in the bot info.
|
||||||
|
|
||||||
## Changes / Modification
|
## Changes / Modification
|
||||||
|
|
||||||
- Change the footers of embed as we transition from using the Statistics provided by **Project Lighthouse v2** into using Statistics provided by **Round table**.
|
- Change the footers of embed as we transition from using the Statistics provided by **Project Lighthouse v2** into using Statistics provided by **Round table**.
|
||||||
|
|
||||||
# Release v3.2.6
|
# Release v3.2.6
|
||||||
|
|
||||||
## Added
|
## Added
|
||||||
|
|
||||||
- Tips
|
- Tips
|
||||||
- Topics
|
- Topics
|
||||||
|
|
||||||
## Fixes
|
## Fixes
|
||||||
|
|
||||||
- Added Bot avatar in the footer
|
- Added Bot avatar in the footer
|
||||||
- Added timestamps in embeds
|
- Added timestamps in embeds
|
||||||
|
|
||||||
|
|
||||||
# Release v3.2.0
|
# Release v3.2.0
|
||||||
|
|
||||||
In this version we made the starboard to be globalized, means that you can configure the settings for the starboard per server.
|
In this version we made the starboard to be globalized, means that you can configure the settings for the starboard per server.
|
||||||
|
|
||||||
## Added
|
## Added
|
||||||
|
|
||||||
- drop
|
- drop
|
||||||
- announce
|
- announce
|
||||||
- emojiadd
|
- emojiadd
|
||||||
|
@ -40,15 +31,12 @@ snipe&editsnipe fix
|
||||||
To stay up-to-date with our progress, check out our discord server & the Trello page.
|
To stay up-to-date with our progress, check out our discord server & the Trello page.
|
||||||
|
|
||||||
# Release v3.0.0
|
# Release v3.0.0
|
||||||
|
|
||||||
In this version we implement Discord.js v13, which introduces slash commands.
|
In this version we implement Discord.js v13, which introduces slash commands.
|
||||||
we have not implemented all of the commands yet, the moderation commands especially.
|
we have not implemented all of the commands yet, the moderation commands especially.
|
||||||
To stay up-to-date with our progress, check out our discord server & the Trello page.
|
To stay up-to-date with our progress, check out our discord server & the Trello page.
|
||||||
|
|
||||||
# Release v2.1.0
|
# Release v2.1.0
|
||||||
|
|
||||||
New & Improved API for client and commands.
|
New & Improved API for client and commands.
|
||||||
|
|
||||||
## Added
|
## Added
|
||||||
|
|
||||||
- Superscript
|
- Superscript
|
||||||
|
@ -64,30 +52,24 @@ New & Improved API for client and commands.
|
||||||
- Improved economy system
|
- Improved economy system
|
||||||
|
|
||||||
# Release v2.0.1
|
# Release v2.0.1
|
||||||
|
|
||||||
No Description
|
No Description
|
||||||
|
|
||||||
## Added
|
## Added
|
||||||
|
|
||||||
- Docs
|
- Docs
|
||||||
- Suggest
|
- Suggest
|
||||||
- Dependencies
|
- Dependencies
|
||||||
|
|
||||||
## Modified/Updates
|
## Modified/Updates
|
||||||
|
|
||||||
- Moderation Commands
|
- Moderation Commands
|
||||||
- Ban
|
- Ban
|
||||||
- Pin
|
- Pin
|
||||||
- Dependencies
|
- Dependencies
|
||||||
|
|
||||||
## Removed
|
## Removed
|
||||||
|
|
||||||
- All the Server specific refrences
|
- All the Server specific refrences
|
||||||
|
|
||||||
# Release v2.0-BETA
|
# Release v2.0-BETA
|
||||||
|
Initial Commit
|
||||||
Initial Commit
|
|
||||||
|
|
||||||
# Release v1.0.0
|
# Release v1.0.0
|
||||||
|
|
||||||
The bot was not open source & only Night worked on it.
|
The bot was not open source & only Night worked on it.
|
||||||
|
|
82
draw.js
Normal file
82
draw.js
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
const { MessageEmbed, MessageActionRow, MessageButton } = require("discord.js");
|
||||||
|
const draws = require("./util/Data/draws.json");
|
||||||
|
module.exports = {
|
||||||
|
name: "draw",
|
||||||
|
description: "Buy a lucky draw",
|
||||||
|
run: async (client, message, args, utils) => {
|
||||||
|
const embed = new MessageEmbed()
|
||||||
|
.setTitle("**__Daily Lucky Draw__**")
|
||||||
|
.setColor(client.color)
|
||||||
|
.setFooter(`Made by ${client.author}`, client.user.displayAvatarURL())
|
||||||
|
.setTimestamp()
|
||||||
|
.setDescription(
|
||||||
|
"Welcome to the Lucky Draw,\nclick `Spin`, so that the draw spins and hits a random item.\nClick `Info` to find out how high the probability is\n that a particular item will be unlocked"
|
||||||
|
)
|
||||||
|
.addFields(
|
||||||
|
draws[0].map(c => {
|
||||||
|
return { name: c.name, value: c.emoji, inline: true };
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
const button1 = new MessageButton()
|
||||||
|
.setStyle("SUCCESS")
|
||||||
|
.setEmoji("🔄")
|
||||||
|
.setLabel("Spin")
|
||||||
|
.setCustomId("spin");
|
||||||
|
const button2 = new MessageButton()
|
||||||
|
.setStyle("PRIMARY")
|
||||||
|
.setEmoji("894962394932064346")
|
||||||
|
.setLabel("Info")
|
||||||
|
.setCustomId("spininfo");
|
||||||
|
|
||||||
|
const row = new MessageActionRow().addComponents([button1, button2]);
|
||||||
|
const msg = await message.channel.send({
|
||||||
|
embeds: [embed],
|
||||||
|
components: [row],
|
||||||
|
});
|
||||||
|
const filter = i =>
|
||||||
|
["spin", "spininfo"].includes(i.customId) &&
|
||||||
|
i.user.id === message.author.id;
|
||||||
|
const collector = msg.createMessageComponentCollector({
|
||||||
|
filter,
|
||||||
|
time: 999999,
|
||||||
|
});
|
||||||
|
function select() {
|
||||||
|
let pick = Math.floor(Math.random() * 100);
|
||||||
|
for (const g in draws[0]) {
|
||||||
|
pick -= draws[0][g].percent;
|
||||||
|
if (pick <= 0) {
|
||||||
|
return `You got **${draws[0][g].name}** with propability **${draws[0][g].percent}%**`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log(utils.colorize("test").magenta);
|
||||||
|
collector.on("collect", i => {
|
||||||
|
if (i.customId === "spin") {
|
||||||
|
i.reply({
|
||||||
|
content: select(),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (i.customId === "spininfo") {
|
||||||
|
i.reply({
|
||||||
|
embeds: [
|
||||||
|
new MessageEmbed()
|
||||||
|
.setTitle("**__Information Table__**")
|
||||||
|
.addFields(
|
||||||
|
draws[0].map(c => {
|
||||||
|
return {
|
||||||
|
name: `**${c.name}**`,
|
||||||
|
value: `Percentage: ${c.percent}%`,
|
||||||
|
inline: true,
|
||||||
|
};
|
||||||
|
})
|
||||||
|
)
|
||||||
|
.addField("Name:", "**Item 1**")
|
||||||
|
.addField("Percent:", "**69**")
|
||||||
|
.addField("Emoji:", ":bughuntergold:"),
|
||||||
|
],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
};
|
306
stats2.js
Normal file
306
stats2.js
Normal file
|
@ -0,0 +1,306 @@
|
||||||
|
// const common = require("../../util/functions/common");
|
||||||
|
// const data = require("../../util/Data/data.json");
|
||||||
|
// const Discord = require("discord.js");
|
||||||
|
|
||||||
|
// // Ignore this for now, it's just a outline of what needs to be changed to fit the new data from Mongo
|
||||||
|
|
||||||
|
// var currGun,
|
||||||
|
// currStats,
|
||||||
|
// currAttachments,
|
||||||
|
// currRecoilArr,
|
||||||
|
// currDRM,
|
||||||
|
// interpretion,
|
||||||
|
// recoilAvailable,
|
||||||
|
// chart,
|
||||||
|
// hasError;
|
||||||
|
// var errMsg = "*Generic placeholder error message*";
|
||||||
|
// module.exports = {
|
||||||
|
// name: "stats",
|
||||||
|
// description: "Check gun stats",
|
||||||
|
// 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) => {
|
||||||
|
// recoilAvailable = false;
|
||||||
|
// hasError = false;
|
||||||
|
// console.log(args);
|
||||||
|
// var repEmb = statsHandler(args.join(" ").replace("\n", " "));
|
||||||
|
// if (hasError) {
|
||||||
|
// interaction.followUp({ embeds: [repEmb] });
|
||||||
|
// }
|
||||||
|
// if (recoilAvailable) { //we will use the old recoil graphs untill we can find someone to help update it.
|
||||||
|
// 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: [repEmb] });
|
||||||
|
// },
|
||||||
|
// };
|
||||||
|
|
||||||
|
// // Don't need (use: to split the input by + (which was used to add attachments before slash commands))
|
||||||
|
// function inpHandler(inpmsg) {
|
||||||
|
// statsHandler(inpmsg.split("+")[0]);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// function statsHandler(inpmsg) {
|
||||||
|
// // Don't need here, use from json (will be easier to add stuff in future)
|
||||||
|
// var 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 = []; // This stores all the feilds
|
||||||
|
|
||||||
|
// currGun = common.weaponIdentifier(inpmsg); // inpMsg should be replaced by args[0] (i.e the gun name)
|
||||||
|
// if (typeof currGun == "string") {
|
||||||
|
// hasError = true;
|
||||||
|
// return currGun;
|
||||||
|
// }
|
||||||
|
// currStats = currGun.stats; // access stats using mongo
|
||||||
|
// currDRM = currGun.drm[0]; // Same ^
|
||||||
|
// currAttachments = [];
|
||||||
|
// currAttachments = common.attachmentsIdentifier(
|
||||||
|
// inpmsg, // this was supposed to be the full input msg, but we need to madify it so it just gets a attachment name and uses it so no need for isolator
|
||||||
|
// currGun.aments, //Sends the stats for all the attachment of that gun
|
||||||
|
// currStats //sends the base stat of the gun for calculation
|
||||||
|
// );
|
||||||
|
// if (typeof currAttachments == "string") {
|
||||||
|
// hasError = true;
|
||||||
|
// return currAttachments;
|
||||||
|
// }
|
||||||
|
// currRecoilArr = [1, 1, currGun.stats[17]];
|
||||||
|
// if (currAttachments.length != 0) {
|
||||||
|
// var 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;
|
||||||
|
|
||||||
|
// var 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) { //Needs modification to match the new layout
|
||||||
|
// 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";
|
||||||
|
// }
|
||||||
|
// var 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 Round Table",
|
||||||
|
// icon_url:
|
||||||
|
// "", //update the icon later
|
||||||
|
// },
|
||||||
|
// };
|
||||||
|
// }
|
Loading…
Reference in a new issue