remove unused code

This commit is contained in:
Jonny_Bro (Nikita) 2023-06-27 21:19:55 +05:00
parent f1eca51313
commit 7174722160
13 changed files with 78 additions and 94 deletions

View file

@ -156,7 +156,7 @@ class Config extends BaseCommand {
state = interaction.options.getBoolean("state"),
channel = interaction.options.getChannel("channel");
await changeSetting(interaction, setting, state, channel);
await changeSetting(interaction, setting, state, channel, data.guildData);
}
}
}
@ -167,13 +167,14 @@ class Config extends BaseCommand {
* @param {String} setting
* @param {Boolean} state
* @param {import("discord.js").GuildTextBasedChannel} channel
* @param {import("../../base/Guild")} guildData
* @returns
*/
async function changeSetting(interaction, setting, state, channel) {
async function changeSetting(interaction, setting, state, channel, guildData) {
if (!state) {
interaction.guild.data.plugins[setting] = null;
interaction.guild.data.markModified(`plugins.${setting}`);
await interaction.guild.data.save();
guildData.plugins[setting] = null;
guildData.markModified(`plugins.${setting}`);
await guildData.save();
return interaction.reply({
content: `${interaction.translate(`administration/config:${setting.toUpperCase()}`)}: **${interaction.translate("common:DISABLED")}**`,
@ -181,16 +182,16 @@ async function changeSetting(interaction, setting, state, channel) {
});
} else {
if (channel) {
interaction.guild.data.plugins[setting] = channel.id;
interaction.guild.data.markModified(`plugins.${setting}`);
await interaction.guild.data.save();
guildData.plugins[setting] = channel.id;
guildData.markModified(`plugins.${setting}`);
await guildData.save();
return interaction.reply({
content: `${interaction.translate(`administration/config:${setting.toUpperCase()}`)}: **${interaction.translate("common:ENABLED")}** (${channel.toString()})`,
ephemeral: true,
});
} else return interaction.reply({
content: `${interaction.translate(`administration/config:${setting.toUpperCase()}`)}: ${interaction.guild.data.plugins[setting] ? `**${interaction.translate("common:ENABLED")}** (<#${interaction.guild.data.plugins[setting]}>)` : `**${interaction.translate("common:DISABLED")}**`}`,
content: `${interaction.translate(`administration/config:${setting.toUpperCase()}`)}: ${guildData.plugins[setting] ? `**${interaction.translate("common:ENABLED")}** (<#${guildData.plugins[setting]}>)` : `**${interaction.translate("common:DISABLED")}**`}`,
ephemeral: true,
});
}

View file

@ -34,14 +34,14 @@ class Boosters extends BaseCommand {
* @param {import("discord.js").ChatInputCommandInteraction} interaction
* @param {Object} data
*/
async execute(client, interaction) {
async execute(client, interaction, data) {
await interaction.deferReply();
let currentPage = 0;
const boosters = (await interaction.guild.members.fetch()).filter(m => m.premiumSince);
if (boosters.size === 0) return interaction.error("general/boosters:NO_BOOSTERS", null, { edit: true });
const embeds = generateBoostersEmbeds(client, interaction, boosters);
const embeds = generateBoostersEmbeds(client, interaction, boosters, data.guildData);
const row = new ActionRowBuilder()
.addComponents(
@ -151,9 +151,10 @@ class Boosters extends BaseCommand {
* @param {import("../../base/JaBa")} client
* @param {import("discord.js").ChatInputCommandInteraction} interaction
* @param {Array} boosters
* @param {import("../../base/Guild")} guildData
* @returns
*/
function generateBoostersEmbeds(client, interaction, boosters) {
function generateBoostersEmbeds(client, interaction, boosters, guildData) {
const embeds = [];
let k = 10;
@ -162,7 +163,7 @@ function generateBoostersEmbeds(client, interaction, boosters) {
let j = i;
k += 10;
const info = current.map(member => `${++j}. ${member.toString()} | ${interaction.translate("general/boosters:BOOSTER_SINCE")}: **${client.functions.printDate(client, member.premiumSince, null, interaction.guild.data.language)}**`).join("\n");
const info = current.map(member => `${++j}. ${member.toString()} | ${interaction.translate("general/boosters:BOOSTER_SINCE")}: **${client.functions.printDate(client, member.premiumSince, null, guildData.language)}**`).join("\n");
const embed = new EmbedBuilder()
.setColor(interaction.client.config.embed.color)

View file

@ -71,7 +71,7 @@ class Remindme extends BaseCommand {
interaction.success("general/remindme:SAVED", {
message,
time: moment(rData.sendAt).locale(interaction.guild.data.language).format("dddd, Do MMMM YYYY, HH:mm:ss"),
time: moment(rData.sendAt).locale(data.guildData.language).format("dddd, Do MMMM YYYY, HH:mm:ss"),
}, { edit: true });
}
}

View file

@ -48,11 +48,13 @@ class Report extends BaseCommand {
* @param {import("discord.js").ChatInputCommandInteraction} interaction
* @param {Object} data
*/
async execute(client, interaction) {
const repChannel = interaction.guild.channels.cache.get(interaction.guild.data.plugins.reports);
async execute(client, interaction, data) {
const repChannel = interaction.guild.channels.cache.get(data.guildData.plugins.reports);
if (!repChannel) return interaction.error("general/report:MISSING_CHANNEL");
const member = interaction.options.getMember("user");
if (member.id === interaction.user.id) return interaction.error("general/report:INVALID_USER");
const rep = interaction.options.getString("message");
const embed = new EmbedBuilder()

View file

@ -41,9 +41,10 @@ class Suggest extends BaseCommand {
* @param {import("discord.js").ChatInputCommandInteraction} interaction
* @param {Object} data
*/
async execute(client, interaction) {
const suggChannel = interaction.guild.channels.cache.get(interaction.guild.data.plugins.suggestions);
async execute(client, interaction, data) {
const suggChannel = interaction.guild.channels.cache.get(data.guildData.plugins.suggestions);
if (!suggChannel) return interaction.error("general/suggest:MISSING_CHANNEL");
const suggestion = interaction.options.getString("message");
const embed = new EmbedBuilder()

View file

@ -35,7 +35,7 @@ class Nowplaying extends BaseCommand {
* @param {import("discord.js").ChatInputCommandInteraction} interaction
* @param {Object} data
*/
async execute(client, interaction) {
async execute(client, interaction, data) {
await interaction.deferReply();
const queue = client.player.nodes.get(interaction.guildId);
@ -62,7 +62,7 @@ class Nowplaying extends BaseCommand {
{ name: "\u200B", value: "\u200B", inline: true },
{
name: interaction.translate("common:VIEWS"),
value: track.raw.live ? "" : new Intl.NumberFormat(interaction.client.languages.find(language => language.name === interaction.guild.data.language).moment, { notation: "standard" }).format(track.raw.views),
value: track.raw.live ? "" : new Intl.NumberFormat(interaction.client.languages.find(language => language.name === data.guldData.language).moment, { notation: "standard" }).format(track.raw.views),
inline: true,
},
{

View file

@ -12,42 +12,32 @@ class CommandHandler extends BaseEvent {
/**
*
* @param {import("../base/JaBa")} client
* @param {import("discord.js").Interaction} interaction
* @param {import("discord.js").BaseInteraction} interaction
*/
async execute(client, interaction) {
const command = client.commands.get(interaction.commandName);
const data = [];
const userData = await client.findOrCreateUser({
id: interaction.user.id,
});
const userData = await client.findOrCreateUser({ id: interaction.user.id });
data.userData = userData;
if (interaction.inGuild()) {
const guildData = await client.findOrCreateGuild({
id: interaction.guildId,
});
interaction.guild.data = data.guildData = guildData;
const guildData = await client.findOrCreateGuild({ id: interaction.guildId });
const memberData = await client.findOrCreateMember({ id: interaction.member.id, guildId: interaction.guildId });
const memberData = await client.findOrCreateMember({
id: interaction.member.id,
guildId: interaction.guildId,
});
data.guildData = guildData;
data.memberData = memberData;
}
if (interaction.isAutocomplete()) {
if (interaction.isAutocomplete())
return await command.autocompleteRun(client, interaction);
}
if (interaction.type !== InteractionType.ApplicationCommand && !interaction.isCommand()) return;
if (command.guildOnly && !interaction.inGuild()) return interaction.error("misc:GUILD_ONLY", null, { ephemeral: true });
if (command.ownerOnly && interaction.user.id !== client.config.owner.id) return interaction.error("misc:OWNER_ONLY", null, { ephemeral: true });
if (!interaction.guildId === "1039187019957555252") return interaction.error({ content: "IAT Only", ephemeral: true }); // IAT
if (!interaction.guildId === "600970971410857996") return interaction.error({ content: "SC Only", ephemeral: true }); // SC
if (!interaction.guildId === "1039187019957555252") return interaction.error({ content: "IAT Only", ephemeral: true });
if (!interaction.guildId === "600970971410857996") return interaction.error({ content: "SC Only", ephemeral: true });
/*
if (!userData.achievements.firstCommand.achieved) {
const args = {
content: interaction.user.toString(),
@ -62,9 +52,8 @@ class CommandHandler extends BaseEvent {
userData.markModified("achievements.firstCommand");
await userData.save();
interaction.channel.isDMBased() ? interaction.user.send(args) : await interaction.channel.send(args);
interaction.user.send(args);
}
*/
client.logger.log(`User ${interaction.user.discriminator === "0" ? interaction.user.username : interaction.user.tag} used ${command.command.name} in ${interaction.guild ? interaction.guild.name : "DM"} with arguments: ${interaction.options.data.length > 0 ? interaction.options.data.map(arg => { return `${arg.name}: ${arg.value}`; }).join(", ") : "no args"}`, "cmd");

View file

@ -20,7 +20,7 @@ class GuildCreate extends BaseEvent {
});
if (!userData.achievements.invite.achieved) {
userData.achievements.invite.progress.now += 1;
userData.achievements.invite.progress.now = 1;
userData.achievements.invite.achieved = true;
userData.markModified("achievements.invite");
await userData.save();
@ -28,9 +28,9 @@ class GuildCreate extends BaseEvent {
const thanks = new EmbedBuilder()
.setAuthor({
name: "Спасибо что добавили меня на свой сервер!",
name: "Thanks for inviting me to your server!",
})
.setDescription("Чтобы получить список команд, используйте `/help`!.")
.setDescription("Use </help:1029832476077596773> in your server to get list of all commands!.")
.setColor(client.config.embed.color)
.setFooter({
text: client.config.embed.footer,

View file

@ -35,20 +35,6 @@ class GuildMemberAdd extends BaseEvent {
const guildData = await client.findOrCreateGuild({
id: member.guild.id,
});
member.guild.data = guildData;
const memberData = await client.findOrCreateMember({
id: member.id,
guildId: member.guild.id,
});
if (memberData.mute.muted && memberData.mute.endDate > Date.now())
member.guild.channels.cache.forEach(channel => {
channel.permissionOverwrites.edit(member.id, {
SEND_MESSAGES: false,
ADD_REACTIONS: false,
CONNECT: false,
}).catch(() => {});
});
if (guildData.plugins.autorole.enabled) member.roles.add(guildData.plugins.autorole.role);
@ -95,11 +81,11 @@ class GuildMemberAdd extends BaseEvent {
// Draw server name
ctx.font = applyText(canvas, client.translate("administration/welcome:IMG_WELCOME", {
server: member.guild.name,
}, member.guild.data.language), 53, 625, "RubikMonoOne");
}, guildData.language), 53, 625, "RubikMonoOne");
ctx.fillText(client.translate("administration/welcome:IMG_WELCOME", {
server: member.guild.name,
}, member.guild.data.language), canvas.width - 700, canvas.height - 70);
}, guildData.language), canvas.width - 700, canvas.height - 70);
// Draw discriminator
ctx.font = "35px RubikMonoOne";
@ -107,20 +93,20 @@ class GuildMemberAdd extends BaseEvent {
// Draw membercount
ctx.font = "22px RubikMonoOne";
ctx.fillText(`${member.guild.memberCount}й ${client.translate("misc:NOUNS:MEMBERS:1", null, member.guild.data.language)}`, 40, canvas.height - 35);
ctx.fillText(`${member.guild.memberCount}й ${client.translate("misc:NOUNS:MEMBERS:1", null, guildData.language)}`, 40, canvas.height - 35);
// Draw # for discriminator
ctx.fillStyle = "#FFFFFF";
ctx.font = "70px RubikMonoOne";
ctx.fillText("#", canvas.width - 690, canvas.height - 165);
ctx.fillText(member.user.discriminator === "0" ? "" : "#", canvas.width - 690, canvas.height - 165);
// Draw title
ctx.font = "45px RubikMonoOne";
ctx.strokeStyle = "#000000";
ctx.lineWidth = 10;
ctx.strokeText(client.translate("administration/welcome:TITLE", null, member.guild.data.language), canvas.width - 670, canvas.height - 330);
ctx.strokeText(client.translate("administration/welcome:TITLE", null, guildData.language), canvas.width - 670, canvas.height - 330);
ctx.fillStyle = "#FFFFFF";
ctx.fillText(client.translate("administration/welcome:TITLE", null, member.guild.data.language), canvas.width - 670, canvas.height - 330);
ctx.fillText(client.translate("administration/welcome:TITLE", null, guildData.language), canvas.width - 670, canvas.height - 330);
// Draw avatar circle
ctx.beginPath();

View file

@ -35,7 +35,6 @@ class GuildMemberRemove extends BaseEvent {
const guildData = await client.findOrCreateGuild({
id: member.guild.id,
});
member.guild.data = guildData;
if (guildData.plugins.goodbye.enabled) {
const channel = member.guild.channels.cache.get(guildData.plugins.goodbye.channel);
@ -80,11 +79,11 @@ class GuildMemberRemove extends BaseEvent {
// Draw server name
ctx.font = applyText(canvas, client.translate("administration/goodbye:IMG_GOODBYE", {
server: member.guild.name,
}, member.guild.data.language), 53, 625, "RubikMonoOne");
}, guildData.language), 53, 625, "RubikMonoOne");
ctx.fillText(client.translate("administration/goodbye:IMG_GOODBYE", {
server: member.guild.name,
}, member.guild.data.language), canvas.width - 700, canvas.height - 70);
}, guildData.language), canvas.width - 700, canvas.height - 70);
// Draw discriminator
ctx.font = "35px RubikMonoOne";
@ -92,7 +91,7 @@ class GuildMemberRemove extends BaseEvent {
// Draw membercount
ctx.font = "22px RubikMonoOne";
ctx.fillText(`${member.guild.memberCount} ${client.functions.getNoun(member.guild.memberCount, client.translate("misc:NOUNS:MEMBERS:1", null, member.guild.data.language), client.translate("misc:NOUNS:MEMBERS:2", null, member.guild.data.language), client.translate("misc:NOUNS:MEMBERS:5", null, member.guild.data.language))}`, 40, canvas.height - 35);
ctx.fillText(`${member.guild.memberCount} ${client.functions.getNoun(member.guild.memberCount, client.translate("misc:NOUNS:MEMBERS:1", null, guildData.language), client.translate("misc:NOUNS:MEMBERS:2", null, guildData.language), client.translate("misc:NOUNS:MEMBERS:5", null, guildData.language))}`, 40, canvas.height - 35);
// Draw # for discriminator
ctx.fillStyle = "#FFFFFF";
@ -103,9 +102,9 @@ class GuildMemberRemove extends BaseEvent {
ctx.font = "45px RubikMonoOne";
ctx.strokeStyle = "#000000";
ctx.lineWidth = 10;
ctx.strokeText(client.translate("administration/goodbye:TITLE", null, member.guild.data.language), canvas.width - 670, canvas.height - 330);
ctx.strokeText(client.translate("administration/goodbye:TITLE", null, guildData.language), canvas.width - 670, canvas.height - 330);
ctx.fillStyle = "#FFFFFF";
ctx.fillText(client.translate("administration/goodbye:TITLE", null, member.guild.data.language), canvas.width - 670, canvas.height - 330);
ctx.fillText(client.translate("administration/goodbye:TITLE", null, guildData.language), canvas.width - 670, canvas.height - 330);
// Draw avatar circle
ctx.beginPath();

View file

@ -17,12 +17,13 @@ class GuildMemberUpdate extends BaseEvent {
async execute(client, oldMember, newMember) {
if (oldMember.guild && oldMember.guild.id === "568120814776614924") return;
if (oldMember.guild.id !== client.config.support.id) return;
if (oldMember.roles.cache.some(r => r.name === "Поддержавшие JaBa")) return;
if (oldMember.roles.cache.some(r => r.id === "940149470975365191")) return;
if (newMember?.roles.cache.some(r => r.name === "Поддержавшие JaBa")) {
if (newMember?.roles.cache.some(r => r.id === "940149470975365191")) {
const userData = await client.findOrCreateUser({
id: newMember.id,
});
userData.achievements.tip.progress.now = 1;
userData.achievements.tip.achieved = true;
userData.markModified("achievements.tip");

View file

@ -20,30 +20,26 @@ class MessageCreate extends BaseEvent {
if (message.guild && message.guild.id === "568120814776614924") return;
const data = {};
if (message.author.bot) return;
const userData = await client.findOrCreateUser({ id: message.author.id });
data.userData = userData;
if (message.guild && !message.member) await message.guild.members.fetch(message.author.id);
if (message.guild) {
const guild = await client.findOrCreateGuild({
id: message.guild.id,
});
message.guild.data = data.guildData = guild;
const guild = await client.findOrCreateGuild({ id: message.guild.id });
data.guildData = guild;
}
if (message.content.match(new RegExp(`^<@!?${client.user.id}>( |)$`))) return message.replyT("misc:HELLO_SERVER", null, { mention: true });
if (message.guild) {
const memberData = await client.findOrCreateMember({
id: message.author.id,
guildId: message.guild.id,
});
const memberData = await client.findOrCreateMember({ id: message.author.id, guildId: message.guild.id });
data.memberData = memberData;
}
const userData = await client.findOrCreateUser({
id: message.author.id,
});
data.userData = userData;
if (message.guild) {
await updateXp(client, message, data);
await updateXp(client, message, data.memberData);
if (message.content.includes("discord.com/channels/")) {
const link = message.content.match(/(https|http):\/\/(ptb\.|canary\.)?(discord.com)\/(channels)\/\d+\/\d+\/\d+/g)[0],
@ -133,12 +129,12 @@ class MessageCreate extends BaseEvent {
*
* @param {import("../base/JaBa")} client
* @param {import("discord.js").Message} msg
* @param {*} data
* @param {import("../base/Member")} memberData
* @returns
*/
async function updateXp(client, msg, data) {
const points = parseInt(data.memberData.exp),
level = parseInt(data.memberData.level),
async function updateXp(client, msg, memberData) {
const points = parseInt(memberData.exp),
level = parseInt(memberData.level),
isInCooldown = xpCooldown[msg.author.id];
if (isInCooldown)
@ -152,14 +148,14 @@ async function updateXp(client, msg, data) {
const neededXp = 5 * (level * level) + 80 * level + 100;
if (newXp > neededXp) {
data.memberData.level = parseInt(level + 1, 10);
data.memberData.exp = 0;
memberData.level = parseInt(level + 1, 10);
memberData.exp = 0;
msg.replyT("misc:LEVEL_UP", {
level: data.memberData.level,
level: memberData.level,
}, { mention: false });
} else data.memberData.exp = parseInt(newXp, 10);
} else memberData.exp = parseInt(newXp, 10);
await data.memberData.save();
await memberData.save();
}
module.exports = MessageCreate;

View file

@ -14,6 +14,7 @@ const config = require("../config");
const dbName = config.mongoDB.split("/").pop();
const baseURL = config.mongoDB.substr(0, config.mongoDB.length - dbName.length);
const client = new MongoClient(baseURL, {
useNewUrlParser: true,
useUnifiedTopology: true,
});
@ -26,22 +27,28 @@ client.connect().then(async () => {
const users = db.collection("users");
console.log(chalk.yellow("Creating guilds index..."));
await guilds.createIndex({
id: 1,
});
console.log(chalk.green("Guilds index created."));
console.log(chalk.yellow("Creating members index..."));
await members.createIndex({
guildID: 1,
id: -1,
});
console.log(chalk.green("Members index created."));
console.log(chalk.yellow("Creating users index..."));
await users.createIndex({
id: 1,
});
console.log(chalk.green("Users index created."));
console.log(chalk.blue("\n\nIndexes created."));
@ -49,5 +56,6 @@ client.connect().then(async () => {
process.exit(0);
}).catch(() => {
console.log(chalk.red("Couldn't connect to mongoDB database..."));
process.exit(1);
});