mirror of
https://github.com/JonnyBro/JaBa.git
synced 2024-11-24 22:24:58 +05:00
v4.4.1 - https://blog.jababot.ru
This commit is contained in:
parent
33f842088b
commit
aec6ec7c58
8 changed files with 118 additions and 28 deletions
|
@ -198,38 +198,70 @@ class Config extends BaseCommand {
|
||||||
async function changeSetting(interaction, setting, state, channel, guildData) {
|
async function changeSetting(interaction, setting, state, channel, guildData) {
|
||||||
const settingSplitted = setting.split(".");
|
const settingSplitted = setting.split(".");
|
||||||
|
|
||||||
if (settingSplitted.length === 2 && guildData.plugins[settingSplitted[0]] === undefined) guildData.plugins[settingSplitted[0]] = {};
|
if (settingSplitted.length === 2) {
|
||||||
|
if (guildData.plugins[settingSplitted[0]] === undefined) guildData.plugins[settingSplitted[0]] = {};
|
||||||
|
|
||||||
if (!state) {
|
if (!state) {
|
||||||
guildData.plugins[settingSplitted[0]][settingSplitted[1]] = null;
|
guildData.plugins[settingSplitted[0]][settingSplitted[1]] = null;
|
||||||
|
|
||||||
guildData.markModified(`plugins.${settingSplitted[0]}`);
|
|
||||||
await guildData.save();
|
|
||||||
|
|
||||||
return interaction.reply({
|
|
||||||
content: `${interaction.translate(`administration/config:${settingSplitted.length === 2 ? settingSplitted[1].toUpperCase() : setting.toUpperCase()}`)}: **${interaction.translate("common:DISABLED")}**`,
|
|
||||||
ephemeral: true,
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
if (settingSplitted[1] === "ticketsCategory" && channel.type !== ChannelType.GuildCategory) return interaction.reply({ content: interaction.translate("administration/config:TICKETS_NOT_CATEGORY"), ephemeral: true });
|
|
||||||
|
|
||||||
if (channel) {
|
|
||||||
guildData.plugins[settingSplitted[0]][settingSplitted[1]] = channel.id;
|
|
||||||
|
|
||||||
guildData.markModified(`plugins.${settingSplitted[0]}`);
|
guildData.markModified(`plugins.${settingSplitted[0]}`);
|
||||||
await guildData.save();
|
await guildData.save();
|
||||||
|
|
||||||
return interaction.reply({
|
return interaction.reply({
|
||||||
content: `${interaction.translate(`administration/config:${settingSplitted.length === 2 ? settingSplitted[1].toUpperCase() : setting.toUpperCase()}`)}: **${interaction.translate("common:ENABLED")}** (${channel.toString()})`,
|
content: `${interaction.translate(`administration/config:${settingSplitted.length === 2 ? settingSplitted[1].toUpperCase() : setting.toUpperCase()}`)}: **${interaction.translate("common:DISABLED")}**`,
|
||||||
ephemeral: true,
|
ephemeral: true,
|
||||||
});
|
});
|
||||||
} else
|
} else {
|
||||||
|
if (settingSplitted[1] === "ticketsCategory" && channel.type !== ChannelType.GuildCategory) return interaction.reply({ content: interaction.translate("administration/config:TICKETS_NOT_CATEGORY"), ephemeral: true });
|
||||||
|
|
||||||
|
if (channel) {
|
||||||
|
guildData.plugins[settingSplitted[0]][settingSplitted[1]] = channel.id;
|
||||||
|
|
||||||
|
guildData.markModified(`plugins.${settingSplitted[0]}`);
|
||||||
|
await guildData.save();
|
||||||
|
|
||||||
|
return interaction.reply({
|
||||||
|
content: `${interaction.translate(`administration/config:${settingSplitted.length === 2 ? settingSplitted[1].toUpperCase() : setting.toUpperCase()}`)}: **${interaction.translate("common:ENABLED")}** (${channel.toString()})`,
|
||||||
|
ephemeral: true,
|
||||||
|
});
|
||||||
|
} else
|
||||||
|
return interaction.reply({
|
||||||
|
content: `${interaction.translate(`administration/config:${settingSplitted.length === 2 ? settingSplitted[1].toUpperCase() : setting.toUpperCase()}`)}: ${
|
||||||
|
guildData.plugins[setting] ? `**${interaction.translate("common:ENABLED")}** (<#${guildData.plugins[setting]}>)` : `**${interaction.translate("common:DISABLED")}**`
|
||||||
|
}`,
|
||||||
|
ephemeral: true,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (!state) {
|
||||||
|
guildData.plugins[setting] = null;
|
||||||
|
|
||||||
|
guildData.markModified(`plugins.${setting}`);
|
||||||
|
await guildData.save();
|
||||||
|
|
||||||
return interaction.reply({
|
return interaction.reply({
|
||||||
content: `${interaction.translate(`administration/config:${settingSplitted.length === 2 ? settingSplitted[1].toUpperCase() : setting.toUpperCase()}`)}: ${
|
content: `${interaction.translate(`administration/config:${setting.toUpperCase()}`)}: **${interaction.translate("common:DISABLED")}**`,
|
||||||
guildData.plugins[setting] ? `**${interaction.translate("common:ENABLED")}** (<#${guildData.plugins[setting]}>)` : `**${interaction.translate("common:DISABLED")}**`
|
|
||||||
}`,
|
|
||||||
ephemeral: true,
|
ephemeral: true,
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
if (channel) {
|
||||||
|
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()}`)}: ${
|
||||||
|
guildData.plugins[setting] ? `**${interaction.translate("common:ENABLED")}** (<#${guildData.plugins[setting]}>)` : `**${interaction.translate("common:DISABLED")}**`
|
||||||
|
}`,
|
||||||
|
ephemeral: true,
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -127,7 +127,7 @@ class Help extends BaseCommand {
|
||||||
commands = [...new Map(client.commands.map(v => [v.constructor.name, v])).values()],
|
commands = [...new Map(client.commands.map(v => [v.constructor.name, v])).values()],
|
||||||
results = commands.filter(c => c.command.name.includes(command));
|
results = commands.filter(c => c.command.name.includes(command));
|
||||||
|
|
||||||
return interaction.respond(
|
return await interaction.respond(
|
||||||
results.slice(0, 25).map(command => ({
|
results.slice(0, 25).map(command => ({
|
||||||
name: command.command.name,
|
name: command.command.name,
|
||||||
value: command.command.name,
|
value: command.command.name,
|
||||||
|
|
|
@ -90,7 +90,7 @@ class Clips extends BaseCommand {
|
||||||
files = fs.readdirSync("./clips"),
|
files = fs.readdirSync("./clips"),
|
||||||
results = files.filter(f => f.includes(query));
|
results = files.filter(f => f.includes(query));
|
||||||
|
|
||||||
return interaction.respond(
|
return await interaction.respond(
|
||||||
results.slice(0, 25).map(file => ({
|
results.slice(0, 25).map(file => ({
|
||||||
name: file.substring(0, file.length - 4),
|
name: file.substring(0, file.length - 4),
|
||||||
value: `./clips/${file}`,
|
value: `./clips/${file}`,
|
||||||
|
|
|
@ -110,12 +110,17 @@ class Play extends BaseCommand {
|
||||||
|
|
||||||
const results = await client.player.search(query);
|
const results = await client.player.search(query);
|
||||||
|
|
||||||
return interaction.respond(
|
return results.tracks.length > 0 ? await interaction.respond(
|
||||||
results.tracks.slice(0, 10).map(track => ({
|
results.tracks.slice(0, 10).map(track => ({
|
||||||
name: (`${track.author} - ${track.title}`.length >= 100) & (`${track.author} - ${track.title}`.slice(0, 80) + "...") || `${track.author} - ${track.title}`,
|
name: (`${track.author} - ${track.title}`.length >= 100) & (`${track.author} - ${track.title}`.slice(0, 80) + "...") || `${track.author} - ${track.title}`,
|
||||||
value: track.url,
|
value: track.url,
|
||||||
})),
|
})),
|
||||||
);
|
) : await interaction.respond([
|
||||||
|
{
|
||||||
|
name: "Nothing",
|
||||||
|
value: "Nothing",
|
||||||
|
},
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,7 @@ class Volume extends BaseCommand {
|
||||||
const int = interaction.options.getInteger("int"),
|
const int = interaction.options.getInteger("int"),
|
||||||
results = Array.from({ length: 100 }, (_, k) => k + 1).filter(i => i.toString().includes(int));
|
results = Array.from({ length: 100 }, (_, k) => k + 1).filter(i => i.toString().includes(int));
|
||||||
|
|
||||||
return interaction.respond(
|
return await interaction.respond(
|
||||||
results.slice(0, 25).map(i => ({
|
results.slice(0, 25).map(i => ({
|
||||||
name: i,
|
name: i,
|
||||||
value: i,
|
value: i,
|
||||||
|
|
|
@ -73,7 +73,7 @@ class Reload extends BaseCommand {
|
||||||
const command = interaction.options.getString("command"),
|
const command = interaction.options.getString("command"),
|
||||||
results = client.commands.filter(c => c.command.name.includes(command));
|
results = client.commands.filter(c => c.command.name.includes(command));
|
||||||
|
|
||||||
return interaction.respond(
|
return await interaction.respond(
|
||||||
results
|
results
|
||||||
.map(c => c)
|
.map(c => c)
|
||||||
.slice(0, 25)
|
.slice(0, 25)
|
||||||
|
|
|
@ -64,3 +64,56 @@ module.exports.init = async function (client) {
|
||||||
|
|
||||||
cronjob.start();
|
cronjob.start();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
module.exports.run = async function (client) {
|
||||||
|
client.guilds.cache.forEach(async guild => {
|
||||||
|
const guildData = await client.findOrCreateGuild(guild.id);
|
||||||
|
|
||||||
|
if (guildData.plugins.birthdays) {
|
||||||
|
const channel = guild.channels.cache.get(guildData.plugins.birthdays) || await guild.channels.fetch(guildData.plugins.birthdays),
|
||||||
|
date = new Date(),
|
||||||
|
currentDay = date.getDate(),
|
||||||
|
currentMonth = date.getMonth(),
|
||||||
|
currentYear = date.getFullYear();
|
||||||
|
|
||||||
|
if (channel) {
|
||||||
|
client.usersData.find({ birthdate: { $gt: 1 } }).then(async users => {
|
||||||
|
for (const user of users) {
|
||||||
|
if (!guild.members.cache.find(m => m.id === user.id)) return;
|
||||||
|
|
||||||
|
const userDate = new Date(user.birthdate),
|
||||||
|
day = userDate.getDate(),
|
||||||
|
month = userDate.getMonth(),
|
||||||
|
year = userDate.getFullYear(),
|
||||||
|
age = currentYear - year;
|
||||||
|
|
||||||
|
if (currentMonth === month && currentDay === day) {
|
||||||
|
const embed = new EmbedBuilder()
|
||||||
|
.setAuthor({
|
||||||
|
name: client.user.getUsername(),
|
||||||
|
iconURL: client.user.displayAvatarURL(),
|
||||||
|
})
|
||||||
|
.setColor(client.config.embed.color)
|
||||||
|
.setFooter(client.config.embed.footer)
|
||||||
|
.addFields([
|
||||||
|
{
|
||||||
|
name: client.translate("economy/birthdate:HAPPY_BIRTHDAY", null, guildData.language),
|
||||||
|
value: client.translate("economy/birthdate:HAPPY_BIRTHDAY_MESSAGE", {
|
||||||
|
name: user.username,
|
||||||
|
user: user.id,
|
||||||
|
age: `**${age}** ${client.functions.getNoun(age, client.translate("misc:NOUNS:AGE:1", null, guildData.language), client.translate("misc:NOUNS:AGE:2", null, guildData.language), client.translate("misc:NOUNS:AGE:5", null, guildData.language))}`,
|
||||||
|
}, guildData.language),
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
|
||||||
|
const msg = await channel.send({
|
||||||
|
embeds: [embed],
|
||||||
|
});
|
||||||
|
await msg.react("🎉");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "jaba",
|
"name": "jaba",
|
||||||
"version": "4.4.0",
|
"version": "4.4.1",
|
||||||
"description": "My Discord Bot",
|
"description": "My Discord Bot",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
Loading…
Reference in a new issue