added missing files

This commit is contained in:
night0721 2021-11-19 02:09:53 +08:00
parent 75cd7580d2
commit a216a4044d
3 changed files with 395 additions and 25 deletions

20
.github/changelog.md vendored
View file

@ -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
View 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
View 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
// },
// };
// }