Переход на discord.js v13

This commit is contained in:
JonnyBro 2022-01-03 23:20:33 +05:00
parent d10140c9fa
commit 5b608c2f60
121 changed files with 597 additions and 482 deletions

View file

@ -63,7 +63,7 @@ class JaBa extends Client {
this.player this.player
.on("playSong", async (queue, song) => { .on("playSong", async (queue, song) => {
const m = await queue.textChannel.send(this.translate("music/play:NOW_PLAYING", { songName: song.name })) const m = await queue.textChannel.send({ content: this.translate("music/play:NOW_PLAYING", { songName: song.name }) })
if (!song.isLive) { if (!song.isLive) {
setTimeout(() => { setTimeout(() => {
if (!m.deleted) m.delete(); if (!m.deleted) m.delete();
@ -74,15 +74,15 @@ class JaBa extends Client {
}, 600 * 1000); }, 600 * 1000);
} }
}) })
.on("addSong", (queue, song) => queue.textChannel.send(this.translate("music/play:ADDED_QUEUE", { songName: song.name }))) .on("addSong", (queue, song) => queue.textChannel.send({ content: this.translate("music/play:ADDED_QUEUE", { songName: song.name }) }))
.on("addList", (queue, playlist) => queue.textChannel.send(this.translate("music/play:ADDED_QUEUE_COUNT", { songCount: playlist.songs.length }))) .on("addList", (queue, playlist) => queue.textChannel.send({ content: this.translate("music/play:ADDED_QUEUE_COUNT", { songCount: playlist.songs.length }) }))
.on("searchResult", (message, result) => { .on("searchResult", (message, result) => {
let i = 0 let i = 0
const embed = new MessageEmbed() const embed = new MessageEmbed()
.setDescription(Util.escapeSpoiler(result.map(song => `**${++i} -** ${song.name}`).join("\n"))) .setDescription(Util.escapeSpoiler(result.map(song => `**${++i} -** ${song.name}`).join("\n")))
.setFooter(this.translate("music/play:RESULTS_FOOTER")) .setFooter({ text: this.translate("music/play:RESULTS_FOOTER") })
.setColor(this.config.embed.color); .setColor(this.config.embed.color);
message.channel.send(embed); message.channel.send({ embeds: [embed] });
}) })
.on("searchDone", () => {}) .on("searchDone", () => {})
.on("searchCancel", message => message.error("misc:TIMES_UP")) .on("searchCancel", message => message.error("misc:TIMES_UP"))
@ -90,13 +90,11 @@ class JaBa extends Client {
.on("searchNoResult", message => message.error("music/play:NO_RESULT")) .on("searchNoResult", message => message.error("music/play:NO_RESULT"))
.on("error", (textChannel, e) => { .on("error", (textChannel, e) => {
console.error(e); console.error(e);
textChannel.send(this.translate("music/play:ERR_OCCURRED", { textChannel.send({ content: this.translate("music/play:ERR_OCCURRED", { error: e }) });
error: e
}));
}) })
.on("finish", queue => queue.textChannel.send(this.translate("music/play:QUEUE_ENDED"))) .on("finish", queue => queue.textChannel.send(this.translate("music/play:QUEUE_ENDED")))
.on("empty", queue => queue.textChannel.send(this.translate("music/play:STOP_EMPTY")));
// .on("disconnect", queue => queue.textChannel.send(this.translate("music/play:STOP_DISCONNECTED"))) // .on("disconnect", queue => queue.textChannel.send(this.translate("music/play:STOP_DISCONNECTED")))
.on("empty", queue => queue.textChannel.send(this.translate("music/play:STOP_EMPTY")));
this.giveawaysManager = new GiveawaysManager(this, { this.giveawaysManager = new GiveawaysManager(this, {
storage: "./giveaways.json", storage: "./giveaways.json",

View file

@ -31,7 +31,7 @@ class Automod extends Command {
prefix: data.guild.prefix prefix: data.guild.prefix
}); });
} else if (status === "off") { } else if (status === "off") {
if (message.mentions.channels.filter((ch) => ch.type === "text" && ch.guild.id === message.guild.id).first()) { if (message.mentions.channels.filter((ch) => ch.type === "GUILD_TEXT" && ch.guild.id === message.guild.id).first()) {
const channel = message.mentions.channels.first(); const channel = message.mentions.channels.first();
data.guild.plugins.automod.ignored.push(channel); data.guild.plugins.automod.ignored.push(channel);
data.guild.markModified("plugins.automod"); data.guild.markModified("plugins.automod");

View file

@ -78,18 +78,18 @@ class Backup extends Command {
backup.fetch(backupID).then(async (backupInfos) => { backup.fetch(backupID).then(async (backupInfos) => {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.translate("administration/backup:TITLE_INFO")) .setAuthor({ name: message.translate("administration/backup:TITLE_INFO") })
// Display the backup ID // Display the backup ID
.addField(message.translate("administration/backup:TITLE_ID"), backupInfos.id, true) .addField(message.translate("administration/backup:TITLE_ID"), backupInfos.id, true)
// Displays the server from which this backup comes // Displays the server from which this backup comes
.addField(message.translate("administration/backup:TITLE_SERVER_ID"), backupInfos.data.guildID, true) .addField(message.translate("administration/backup:TITLE_SERVER_ID"), backupInfos.data.guildId, true)
// Display the size (in mb) of the backup // Display the size (in mb) of the backup
.addField(message.translate("administration/backup:TITLE_SIZE"), `${backupInfos.size}mb`, true) .addField(message.translate("administration/backup:TITLE_SIZE"), `${backupInfos.size}mb`, true)
// Display when the backup was created // Display when the backup was created
.addField(message.translate("administration/backup:TITLE_CREATED_AT"), message.printDate(new Date(backupInfos.data.createdTimestamp)), true) .addField(message.translate("administration/backup:TITLE_CREATED_AT"), message.printDate(new Date(backupInfos.data.createdTimestamp)), true)
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(data.config.embed.footer); .setFooter({ text: data.config.embed.footer });
message.channel.send(embed); message.channel.send({ embeds: [embed] });
}).catch(() => { }).catch(() => {
// if the backup wasn't found // if the backup wasn't found
return message.error("administration/backup:NO_BACKUP_FOUND", { return message.error("administration/backup:NO_BACKUP_FOUND", {

View file

@ -21,9 +21,9 @@ class Configuration extends Command {
const guildData = data.guild; const guildData = data.guild;
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.guild.name, message.guild.iconURL()) .setAuthor({ name: message.guild.name, iconURL: message.guild.iconURL() })
.setColor(this.client.config.embed.color) .setColor(data.config.embed.color)
.setFooter(this.client.config.embed.footer); .setFooter({ text: data.config.embed.footer });
// Guild prefix // Guild prefix
embed.addField(message.translate("administration/configuration:PREFIX_TITLE"), guildData.prefix); embed.addField(message.translate("administration/configuration:PREFIX_TITLE"), guildData.prefix);
@ -85,7 +85,7 @@ class Configuration extends Command {
// Dashboard link // Dashboard link
embed.addField(message.translate("administration/configuration:DASHBOARD_TITLE"), `[${message.translate("administration/configuration:DASHBOARD_CONTENT")}](${this.client.config.dashboard.baseURL})`); embed.addField(message.translate("administration/configuration:DASHBOARD_TITLE"), `[${message.translate("administration/configuration:DASHBOARD_CONTENT")}](${this.client.config.dashboard.baseURL})`);
message.channel.send(embed); message.channel.send({ embeds: [embed] });
} }
}; };

View file

@ -49,7 +49,8 @@ class Goodbye extends Command {
author: message.author.toString() author: message.author.toString()
}); });
const collector = message.channel.createMessageCollector(m => m.author.id === message.author.id, { const filter = m => m.author.id === message.author.id;
const collector = message.channel.createMessageCollector({ filter,
time: 120000 // 2 minutes time: 120000 // 2 minutes
}); });
@ -100,7 +101,7 @@ class Goodbye extends Command {
}); });
collector.on("end", (_, reason) => { collector.on("end", (_, reason) => {
if (reason === "time") return message.error("misc:TIMEOUT"); if (reason === "time") return message.error("misc:TIMES_UP");
}); });
}; };
} }

View file

@ -17,7 +17,7 @@ class Ignore extends Command {
} }
async run(message, args, data) { async run(message, args, data) {
const channel = message.mentions.channels.filter((ch) => ch.type === "text" && ch.guild.id === message.guild.id).first(); const channel = message.mentions.channels.filter((ch) => ch.type === "GUILD_TEXT" && ch.guild.id === message.guild.id).first();
if (!channel) return message.error("misc:INVALID_CHANNEL"); if (!channel) return message.error("misc:INVALID_CHANNEL");
const ignored = data.guild.ignoredChannels.includes(channel.id); const ignored = data.guild.ignoredChannels.includes(channel.id);

View file

@ -53,18 +53,23 @@ class Setfortniteshop extends Command {
const attachment = new Discord.MessageAttachment(image, "shop.png"); const attachment = new Discord.MessageAttachment(image, "shop.png");
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(this.client.translate("general/fortniteshop:DATE", { .setAuthor({
name: this.client.translate("general/fortniteshop:DATE", {
date: this.client.printDate(new Date(Date.now()), null, message.guild.data.language) date: this.client.printDate(new Date(Date.now()), null, message.guild.data.language)
}, message.guild.data.language), this.client.user.displayAvatarURL({ }, message.guild.data.language),
iconURL: this.client.user.displayAvatarURL({
size: 512, size: 512,
dynamic: true, dynamic: true,
format: "png" format: "png"
})) })
.attachFiles(attachment) })
.setImage("attachment://shop.png") .setImage("attachment://shop.png")
.setColor(this.client.config.embed.color) .setColor(data.config.embed.color)
.setFooter(this.client.config.embed.footer); .setFooter({ text: data.config.embed.footer });
const msg = await channel.send(embed); const msg = await channel.send({
embeds: [embed],
files: [attachment]
});
await msg.react("😍"); await msg.react("😍");
await msg.react("😐"); await msg.react("😐");
await msg.react("😭"); await msg.react("😭");

View file

@ -18,7 +18,7 @@ class Slowmode extends Command {
} }
async run(message, args, data) { async run(message, args, data) {
const channel = message.mentions.channels.filter((ch) => ch.type === "text" && ch.guild.id === message.guild.id).first(); const channel = message.mentions.channels.filter((ch) => ch.type === "GUILD_TEXT" && ch.guild.id === message.guild.id).first();
if (!channel) return message.error("misc:INVALID_CHANNEL"); if (!channel) return message.error("misc:INVALID_CHANNEL");
const time = args[1]; const time = args[1];

View file

@ -48,7 +48,9 @@ class Welcome extends Command {
message.sendT("administration/welcome:FORM_1", { message.sendT("administration/welcome:FORM_1", {
author: message.author.toString() author: message.author.toString()
}); });
const collector = message.channel.createMessageCollector(m => m.author.id === message.author.id, {
const filter = m => m.author.id === message.author.id;
const collector = message.channel.createMessageCollector({ filter,
time: 120000 // 2 minutes time: 120000 // 2 minutes
}); });
@ -85,7 +87,7 @@ class Welcome extends Command {
if (!welcome.channel) { if (!welcome.channel) {
const channel = await Resolvers.resolveChannel({ const channel = await Resolvers.resolveChannel({
message: msg, message: msg,
channelType: "text" channelType: "GUILD_TEXT"
}); });
if (!channel) return message.error("misc:INVALID_CHANNEL"); if (!channel) return message.error("misc:INVALID_CHANNEL");
@ -100,7 +102,7 @@ class Welcome extends Command {
collector.on("end", (_, reason) => { collector.on("end", (_, reason) => {
if (reason === "time") { if (reason === "time") {
return message.error("misc:TIMEOUT"); return message.error("misc:TIMES_UP");
}; };
}); });
}; };

View file

@ -19,9 +19,9 @@ class Achievements extends Command {
async run(message, args, data) { async run(message, args, data) {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.translate("economy/achievements:TITLE")) .setAuthor({ name: message.translate("economy/achievements:TITLE") })
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(data.config.embed.footer); .setFooter({ text: data.config.embed.footer });
embed.addField(message.translate("economy/achievements:SEND_CMD"), message.translate("economy/achievements:PROGRESS", { embed.addField(message.translate("economy/achievements:SEND_CMD"), message.translate("economy/achievements:PROGRESS", {
now: data.userData.achievements.firstCommand.progress.now, now: data.userData.achievements.firstCommand.progress.now,
@ -59,7 +59,7 @@ class Achievements extends Command {
percent: Math.round(100 * (data.userData.achievements.invite.progress.now / data.userData.achievements.invite.progress.total)) percent: Math.round(100 * (data.userData.achievements.invite.progress.now / data.userData.achievements.invite.progress.total))
})); }));
message.channel.send(embed); message.channel.send({ embeds: [embed] });
} }
}; };

View file

@ -18,7 +18,7 @@ class Leaderboard extends Command {
} }
async run(message, args) { async run(message, args) {
const isOnlyOnMobile = (message.author.presence.clientStatus ? JSON.stringify(Object.keys(message.author.presence.clientStatus)) === JSON.stringify(["mobile"]) : false); const isOnlyOnMobile = (message.member.presence.clientStatus ? JSON.stringify(Object.keys(message.member.presence.clientStatus)) === JSON.stringify(["mobile"]) : false);
const type = args[0]; const type = args[0];
if (!type || (type !== "credits" && type !== "level" && type !== "rep")) return message.error("economy/leaderboard:MISSING_TYPE"); if (!type || (type !== "credits" && type !== "level" && type !== "rep")) return message.error("economy/leaderboard:MISSING_TYPE");
@ -37,7 +37,7 @@ class Leaderboard extends Command {
table.setHeading("#", message.translate("common:USER"), message.translate("common:CREDITS")); table.setHeading("#", message.translate("common:USER"), message.translate("common:CREDITS"));
if (membersLeaderboard.length > 20) membersLeaderboard.length = 20; if (membersLeaderboard.length > 20) membersLeaderboard.length = 20;
const newTable = await fetchUsers(membersLeaderboard, table, this.client); const newTable = await fetchUsers(membersLeaderboard, table, this.client);
message.channel.send(`\`\`\`\n${newTable.toString()}\`\`\``); message.channel.send({ content: `\`\`\`\n${newTable.toString()}\`\`\`` });
} else if (type === "level") { } else if (type === "level") {
const members = await this.client.membersData.find({ const members = await this.client.membersData.find({
guildID: message.guild.id guildID: message.guild.id
@ -52,9 +52,9 @@ class Leaderboard extends Command {
table.setHeading("#", message.translate("common:USER"), message.translate("common:LEVEL")); table.setHeading("#", message.translate("common:USER"), message.translate("common:LEVEL"));
if (membersLeaderboard.length > 20) membersLeaderboard.length = 20; if (membersLeaderboard.length > 20) membersLeaderboard.length = 20;
const newTable = await fetchUsers(membersLeaderboard, table, this.client); const newTable = await fetchUsers(membersLeaderboard, table, this.client);
message.channel.send(`\`\`\`\n${newTable.toString()}\`\`\``); message.channel.send({ content: `\`\`\`\n${newTable.toString()}\`\`\`` });
} else if (type === "rep") { } else if (type === "rep") {
const users = await this.client.usersData.find().lean(), const users = await this.client.usersData.find({ rep: { $gt: 0 } }).lean(),
usersLeaderboard = users.map((u) => { usersLeaderboard = users.map((u) => {
return { return {
id: u.id, id: u.id,
@ -65,7 +65,7 @@ class Leaderboard extends Command {
table.setHeading("#", message.translate("common:USER"), message.translate("common:POINTS")); table.setHeading("#", message.translate("common:USER"), message.translate("common:POINTS"));
if (usersLeaderboard.length > 20) usersLeaderboard.length = 20; if (usersLeaderboard.length > 20) usersLeaderboard.length = 20;
const newTable = await fetchUsers(usersLeaderboard, table, this.client); const newTable = await fetchUsers(usersLeaderboard, table, this.client);
message.channel.send(`\`\`\`\n${newTable.toString()}\`\`\``); message.channel.send({ content: `\`\`\`\n${newTable.toString()}\`\`\`` });
}; };
if (isOnlyOnMobile) message.sendT("economy/leaderboard:MOBILE"); if (isOnlyOnMobile) message.sendT("economy/leaderboard:MOBILE");

View file

@ -78,7 +78,9 @@ class Marry extends Command {
to: member.user.toString() to: member.user.toString()
}); });
const collector = new Discord.MessageCollector(message.channel, (m) => m.author.id === member.id, { const filter = m => m.author.id === member.id;
const collector = new Discord.MessageCollector(message.channel, {
filter,
time: 120000 time: 120000
}); });

View file

@ -37,7 +37,7 @@ class Credits extends Command {
const commonsGuilds = this.client.guilds.cache.filter((g) => g.members.cache.get(user.id)); const commonsGuilds = this.client.guilds.cache.filter((g) => g.members.cache.get(user.id));
let globalMoney = 0; let globalMoney = 0;
await asyncForEach(commonsGuilds.array(), async (guild) => { await asyncForEach(commonsGuilds, async (guild) => {
const memberData = await this.client.findOrCreateMember({ const memberData = await this.client.findOrCreateMember({
id: user.id, id: user.id,
guildID: guild.id guildID: guild.id
@ -47,19 +47,24 @@ class Credits extends Command {
}); });
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.translate("economy/money:TITLE", { .setAuthor({
name: message.translate("economy/money:TITLE", {
username: member.user.username username: member.user.username
}), member.user.displayAvatarURL({ }),
iconURL: member.user.displayAvatarURL({
size: 512, size: 512,
dynamic: true, dynamic: true,
format: "png" format: "png"
})) })
})
.addField(message.translate("economy/profile:CASH"), `**${memberData.money}** ${message.getNoun(memberData.money, message.translate("misc:NOUNS:CREDIT:1"), message.translate("misc:NOUNS:CREDIT:2"), message.translate("misc:NOUNS:CREDIT:5"))}`, true) .addField(message.translate("economy/profile:CASH"), `**${memberData.money}** ${message.getNoun(memberData.money, message.translate("misc:NOUNS:CREDIT:1"), message.translate("misc:NOUNS:CREDIT:2"), message.translate("misc:NOUNS:CREDIT:5"))}`, true)
.addField(message.translate("economy/profile:BANK"), `**${memberData.bankSold}** ${message.getNoun(memberData.bankSold, message.translate("misc:NOUNS:CREDIT:1"), message.translate("misc:NOUNS:CREDIT:2"), message.translate("misc:NOUNS:CREDIT:5"))}`, true) .addField(message.translate("economy/profile:BANK"), `**${memberData.bankSold}** ${message.getNoun(memberData.bankSold, message.translate("misc:NOUNS:CREDIT:1"), message.translate("misc:NOUNS:CREDIT:2"), message.translate("misc:NOUNS:CREDIT:5"))}`, true)
.addField(message.translate("economy/profile:GLOBAL"), `**${globalMoney}** ${message.getNoun(globalMoney, message.translate("misc:NOUNS:CREDIT:1"), message.translate("misc:NOUNS:CREDIT:2"), message.translate("misc:NOUNS:CREDIT:5"))}`, true) .addField(message.translate("economy/profile:GLOBAL"), `**${globalMoney}** ${message.getNoun(globalMoney, message.translate("misc:NOUNS:CREDIT:1"), message.translate("misc:NOUNS:CREDIT:2"), message.translate("misc:NOUNS:CREDIT:5"))}`, true)
.setColor(this.client.config.embed.color) .setColor(data.config.embed.color)
.setFooter(this.client.config.embed.footer); .setFooter({ text: data.config.embed.footer });
message.channel.send(embed); message.channel.send({
embeds: [embed]
});
} }
}; };

View file

@ -42,7 +42,7 @@ class Profile extends Command {
const commonsGuilds = client.guilds.cache.filter((g) => g.members.cache.get(member.id)); const commonsGuilds = client.guilds.cache.filter((g) => g.members.cache.get(member.id));
let globalMoney = 0; let globalMoney = 0;
await asyncForEach(commonsGuilds.array(), async (guild) => { await asyncForEach(commonsGuilds, async (guild) => {
const memberData = await client.findOrCreateMember({ const memberData = await client.findOrCreateMember({
id: member.id, id: member.id,
guildID: guild.id guildID: guild.id
@ -52,17 +52,13 @@ class Profile extends Command {
}); });
const profileEmbed = new Discord.MessageEmbed() const profileEmbed = new Discord.MessageEmbed()
.setAuthor(message.translate("economy/profile:TITLE", { .setAuthor({ name: message.translate("economy/profile:TITLE", {
username: member.user.tag username: member.user.tag
}), member.user.displayAvatarURL({ }), iconURL: member.user.displayAvatarURL({
size: 512, size: 512,
dynamic: true, dynamic: true,
format: "png" format: "png"
})) })})
.attachFiles([{
attachment: await userData.getAchievements(),
name: "achievements.png"
}])
.setImage("attachment://achievements.png") .setImage("attachment://achievements.png")
.addField(message.translate("economy/profile:BIO"), userData.bio ? userData.bio : message.translate("economy/profile:NO_BIO")) .addField(message.translate("economy/profile:BIO"), userData.bio ? userData.bio : message.translate("economy/profile:NO_BIO"))
.addField(message.translate("economy/profile:CASH"), `**${memberData.money}** ${message.getNoun(memberData.money, message.translate("misc:NOUNS:CREDIT:1"), message.translate("misc:NOUNS:CREDIT:2"), message.translate("misc:NOUNS:CREDIT:5"))}`, true) .addField(message.translate("economy/profile:CASH"), `**${memberData.money}** ${message.getNoun(memberData.money, message.translate("misc:NOUNS:CREDIT:1"), message.translate("misc:NOUNS:CREDIT:2"), message.translate("misc:NOUNS:CREDIT:5"))}`, true)
@ -78,10 +74,10 @@ class Profile extends Command {
prefix: data.guild.prefix prefix: data.guild.prefix
})) }))
.setColor(data.config.embed.color) // Sets the color of the embed .setColor(data.config.embed.color) // Sets the color of the embed
.setFooter(data.config.embed.footer) // Sets the footer of the embed .setFooter({ text: data.config.embed.footer }) // Sets the footer of the embed
.setTimestamp(); .setTimestamp();
message.channel.send(profileEmbed); // Send the embed in the current channel message.channel.send({ embeds: [profileEmbed], files: [userData.getAchievements()] }); // Send the embed in the current channel
} }
}; };

View file

@ -19,9 +19,15 @@ class Slots extends Command {
async run(message, args, data) { async run(message, args, data) {
const fruits = ["🍎", "🍐", "🍌", "🍇", "🍉", "🍒", "🍓"]; const fruits = ["🍎", "🍐", "🍌", "🍇", "🍉", "🍒", "🍓"];
let i1 = 0, j1 = 0, k1 = 0, let i1 = 0,
i2 = 1, j2 = 1, k2 = 1, j1 = 0,
i3 = 2, j3 = 2, k3 = 2; k1 = 0,
i2 = 1,
j2 = 1,
k2 = 1,
i3 = 2,
j3 = 2,
k3 = 2;
// Gets three random fruits array // Gets three random fruits array
const colonnes = [ const colonnes = [
@ -77,11 +83,13 @@ class Slots extends Command {
msg += "| : : : **" + (message.translate("common:VICTORY").toUpperCase()) + "** : : : |"; msg += "| : : : **" + (message.translate("common:VICTORY").toUpperCase()) + "** : : : |";
tmsg.edit(msg); tmsg.edit(msg);
const credits = getCredits(amount, true); const credits = getCredits(amount, true);
message.channel.send("**!! ДЖЕКПОТ !!**\n" + message.translate("economy/slots:VICTORY", { message.channel.send({
content: "**!! ДЖЕКПОТ !!**\n" + message.translate("economy/slots:VICTORY", {
money: `${amount} ${message.getNoun(amount, message.translate("misc:NOUNS:CREDIT:1"), message.translate("misc:NOUNS:CREDIT:2"), message.translate("misc:NOUNS:CREDIT:5"))}`, money: `${amount} ${message.getNoun(amount, message.translate("misc:NOUNS:CREDIT:1"), message.translate("misc:NOUNS:CREDIT:2"), message.translate("misc:NOUNS:CREDIT:5"))}`,
won: `${credits} ${message.getNoun(credits, message.translate("misc:NOUNS:CREDIT:1"), message.translate("misc:NOUNS:CREDIT:2"), message.translate("misc:NOUNS:CREDIT:5"))}`, won: `${credits} ${message.getNoun(credits, message.translate("misc:NOUNS:CREDIT:1"), message.translate("misc:NOUNS:CREDIT:2"), message.translate("misc:NOUNS:CREDIT:5"))}`,
username: message.author.username username: message.author.username
})); })
});
const toAdd = credits - amount; const toAdd = credits - amount;
data.memberData.money = data.memberData.money + toAdd; data.memberData.money = data.memberData.money + toAdd;
if (!data.userData.achievements.slots.achieved) { if (!data.userData.achievements.slots.achieved) {
@ -106,11 +114,13 @@ class Slots extends Command {
msg += "| : : : **" + (message.translate("common:VICTORY").toUpperCase()) + "** : : : |"; msg += "| : : : **" + (message.translate("common:VICTORY").toUpperCase()) + "** : : : |";
tmsg.edit(msg); tmsg.edit(msg);
const credits = getCredits(amount, false); const credits = getCredits(amount, false);
message.channel.send(message.translate("economy/slots:VICTORY", { message.channel.send({
content: message.translate("economy/slots:VICTORY", {
money: `${amount} ${message.getNoun(amount, message.translate("misc:NOUNS:CREDIT:1"), message.translate("misc:NOUNS:CREDIT:2"), message.translate("misc:NOUNS:CREDIT:5"))}`, money: `${amount} ${message.getNoun(amount, message.translate("misc:NOUNS:CREDIT:1"), message.translate("misc:NOUNS:CREDIT:2"), message.translate("misc:NOUNS:CREDIT:5"))}`,
won: `${credits} ${message.getNoun(credits, message.translate("misc:NOUNS:CREDIT:1"), message.translate("misc:NOUNS:CREDIT:2"), message.translate("misc:NOUNS:CREDIT:5"))}`, won: `${credits} ${message.getNoun(credits, message.translate("misc:NOUNS:CREDIT:1"), message.translate("misc:NOUNS:CREDIT:2"), message.translate("misc:NOUNS:CREDIT:5"))}`,
username: message.author.username username: message.author.username
})); })
});
const toAdd = credits - amount; const toAdd = credits - amount;
data.memberData.money = data.memberData.money + toAdd; data.memberData.money = data.memberData.money + toAdd;
if (!data.userData.achievements.slots.achieved) { if (!data.userData.achievements.slots.achieved) {
@ -132,10 +142,12 @@ class Slots extends Command {
}; };
msg += "| : : : **" + (message.translate("common:DEFEAT").toUpperCase()) + "** : : : |"; msg += "| : : : **" + (message.translate("common:DEFEAT").toUpperCase()) + "** : : : |";
message.channel.send(message.translate("economy/slots:DEFEAT", { message.channel.send({
content: message.translate("economy/slots:DEFEAT", {
money: `${amount} ${message.getNoun(amount, message.translate("misc:NOUNS:CREDIT:1"), message.translate("misc:NOUNS:CREDIT:2"), message.translate("misc:NOUNS:CREDIT:5"))}`, money: `${amount} ${message.getNoun(amount, message.translate("misc:NOUNS:CREDIT:1"), message.translate("misc:NOUNS:CREDIT:2"), message.translate("misc:NOUNS:CREDIT:5"))}`,
username: message.author.username username: message.author.username
})); })
});
data.memberData.money = data.memberData.money - amount; data.memberData.money = data.memberData.money - amount;
if (!data.userData.achievements.slots.achieved) { if (!data.userData.achievements.slots.achieved) {
data.userData.achievements.slots.progress.now = 0; data.userData.achievements.slots.progress.now = 0;

View file

@ -40,11 +40,11 @@ class Work extends Command {
await data.memberData.save(); await data.memberData.save();
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setFooter(message.translate("economy/work:AWARD"), message.author.displayAvatarURL({ .setFooter({ text: message.translate("economy/work:AWARD"), iconURL: message.author.displayAvatarURL({
size: 512, size: 512,
dynamic: true, dynamic: true,
format: "png" format: "png"
})) })})
.setColor(data.config.embed.color); .setColor(data.config.embed.color);
const award = [ const award = [
@ -80,7 +80,7 @@ class Work extends Command {
data.memberData.save(); data.memberData.save();
const messageOptions = { const messageOptions = {
embed emdeds: embed
}; };
if (!data.userData.achievements.work.achieved) { if (!data.userData.achievements.work.achieved) {
data.userData.achievements.work.progress.now += 1; data.userData.achievements.work.progress.now += 1;

View file

@ -22,7 +22,7 @@ class Eightball extends Command {
const answerN = this.client.functions.randomNum(1, 19); const answerN = this.client.functions.randomNum(1, 19);
const answer = message.translate(`fun/8ball:RESPONSE_${answerN + 1}`); const answer = message.translate(`fun/8ball:RESPONSE_${answerN + 1}`);
message.channel.send(answer); message.channel.send({ content: answer });
} }
}; };

View file

@ -25,7 +25,7 @@ class Ascii extends Command {
const rendered = await figletAsync(text); const rendered = await figletAsync(text);
message.channel.send("```" + rendered + "```"); message.channel.send({ content: "```" + rendered + "```" });
} }
}; };

View file

@ -29,7 +29,7 @@ class Choice extends Command {
edit: true edit: true
}); });
const result = answers[parseInt(Math.floor(Math.random() * answers.length))]; const result = answers[parseInt(Math.floor(Math.random() * answers.length))];
message.channel.send("```" + result + "```"); message.channel.send({ content: "```" + result + "```" });
}, 1500); }, 1500);
} }
}; };

View file

@ -61,7 +61,9 @@ class FindWords extends Command {
}, false, false, "warn"); }, false, false, "warn");
// init a collector to receive the answers // init a collector to receive the answers
const collector = new Discord.MessageCollector(message.channel, (m) => !m.author.bot, { const filter = m => !m.author.bot;
const collector = new Discord.MessageCollector(message.channel, {
filter,
time: 20000 time: 20000
}); });

View file

@ -25,10 +25,10 @@ class Fml extends Command {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setDescription(fml.content) .setDescription(fml.content)
.setFooter(message.translate("fun/fml:FOOTER")) .setFooter({ text: message.translate("fun/fml:FOOTER") })
.setColor(this.client.config.embed.color); .setColor(data.config.embed.color);
message.channel.send(embed); message.channel.send({ embeds: [embed] });
} }
}; };

View file

@ -25,10 +25,10 @@ class Joke extends Command {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setDescription(joke.toDiscordSpoils()) .setDescription(joke.toDiscordSpoils())
.setFooter(message.translate("fun/joke:FOOTER")) .setFooter({ text: message.translate("fun/joke:FOOTER") })
.setColor(this.client.config.embed.color); .setColor(data.config.embed.color);
message.channel.send(embed); message.channel.send({embeds: [embed] });
} }
}; };

View file

@ -20,7 +20,7 @@ class Lmg extends Command {
const question = args.join(" "); const question = args.join(" ");
if (!question) return message.error("fun/lmg:MISSING"); if (!question) return message.error("fun/lmg:MISSING");
const encodedQuestion = question.replace(/[' '_]/g, "+"); const encodedQuestion = question.replace(/[' '_]/g, "+");
await message.channel.send(`https://google.gik-team.com/?q=${encodedQuestion}`); await message.channel.send({ content: `https://google.gik-team.com/?q=${encodedQuestion}` });
message.delete().catch(() => {}); message.delete().catch(() => {});
} }
}; };

View file

@ -37,16 +37,16 @@ class Lovecalc extends Command {
const percent = parseInt(string.substr(0, 2), 10); const percent = parseInt(string.substr(0, 2), 10);
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(`❤️ ${message.translate("fun/lovecalc:DESCRIPTION")}`) .setAuthor({ name: `❤️ ${message.translate("fun/lovecalc:DESCRIPTION")}` })
.setDescription(message.translate("fun/lovecalc:CONTENT", { .setDescription(message.translate("fun/lovecalc:CONTENT", {
percent, percent,
firstUsername: firstMember.user.username, firstUsername: firstMember.user.username,
secondUsername: secondMember.user.username secondUsername: secondMember.user.username
})) }))
.setColor(this.client.config.embed.color) .setColor(data.config.embed.color)
.setFooter(this.client.config.embed.footer); .setFooter({ text: data.config.embed.footer });
message.channel.send(embed); message.channel.send({ embeds: [embed] });
} }
}; };

View file

@ -30,7 +30,9 @@ class Number extends Command {
// Store the date wich the game has started // Store the date wich the game has started
const gameCreatedAt = Date.now(); const gameCreatedAt = Date.now();
const collector = new Discord.MessageCollector(message.channel, m => !m.author.bot, { const filter = m => !m.author.bot;
const collector = new Discord.MessageCollector(message.channel, {
filter,
time: 480000 // 8 minutes time: 480000 // 8 minutes
}); });
currentGames[message.guild.id] = true; currentGames[message.guild.id] = true;

View file

@ -22,153 +22,153 @@ class Activity extends Command {
if (!voice) return message.error("music/play:NO_VOICE_CHANNEL"); if (!voice) return message.error("music/play:NO_VOICE_CHANNEL");
const perms = voice.permissionsFor(this.client.user); const perms = voice.permissionsFor(this.client.user);
if (!perms.has("CONNECT") || !perms.has("SPEAK")) return message.error("music/play:VOICE_CHANNEL_CONNECT"); if (!perms.has(Discord.Permissions.FLAGS.CONNECT) || !perms.has(Discord.Permissions.FLAGS.SPEAK)) return message.error("music/play:VOICE_CHANNEL_CONNECT");
const activities = ["awkword", "betrayal", "checkers", "chess", "doodlecrew", "fishing", "lettertile", "poker", "spellcast", "wordsnack", "puttparty", "youtube"]; const activities = ["awkword", "betrayal", "checkers", "chess", "doodlecrew", "fishing", "lettertile", "poker", "spellcast", "wordsnack", "puttparty", "youtube"];
const activity = args[0]; const activity = args[0];
switch (activity) { switch (activity) {
case "awkword": case "awkword":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "awkword").then(async invite => { this.client.discordTogether.createTogetherCode(message.member.voice.channelId, "awkword").then(async invite => {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setTitle("Awkword") .setTitle("Awkword")
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Awkword", channel: voice.name })}](${invite.code})**`) .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Awkword", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER")) .setFooter({ text: message.translate("general/activity:FOOTER") })
.setTimestamp() .setTimestamp()
return message.channel.send(embed); return message.channel.send({ embeds: [embed] });
}); });
break; break;
case "betrayal": case "betrayal":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "betrayal").then(async invite => { this.client.discordTogether.createTogetherCode(message.member.voice.channelId, "betrayal").then(async invite => {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setTitle("Betrayal.io") .setTitle("Betrayal.io")
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Betrayal.io", channel: voice.name })}](${invite.code})**`) .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Betrayal.io", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER")) .setFooter({ text: message.translate("general/activity:FOOTER") })
.setTimestamp() .setTimestamp()
return message.channel.send(embed); return message.channel.send({ embeds: [embed] });
}); });
break; break;
case "checkers": case "checkers":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "checkers").then(async invite => { this.client.discordTogether.createTogetherCode(message.member.voice.channelId, "checkers").then(async invite => {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setTitle("Checkers In The Park") .setTitle("Checkers In The Park")
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Checkers In The Park", channel: voice.name })}](${invite.code})**`) .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Checkers In The Park", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER")) .setFooter({ text: message.translate("general/activity:FOOTER") })
.setTimestamp() .setTimestamp()
return message.channel.send(embed); return message.channel.send({ embeds: [embed] });
}); });
break; break;
case "chess": case "chess":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "chess").then(async invite => { this.client.discordTogether.createTogetherCode(message.member.voice.channelId, "chess").then(async invite => {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setTitle("Chess In The Park") .setTitle("Chess In The Park")
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Chess In The Park", channel: voice.name })}](${invite.code})**`) .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Chess In The Park", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER")) .setFooter({ text: message.translate("general/activity:FOOTER") })
.setTimestamp() .setTimestamp()
return message.channel.send(embed); return message.channel.send({ embeds: [embed] });
}); });
break; break;
case "doodlecrew": case "doodlecrew":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "doodlecrew").then(async invite => { this.client.discordTogether.createTogetherCode(message.member.voice.channelId, "doodlecrew").then(async invite => {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setTitle("Doodle Crew") .setTitle("Doodle Crew")
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Doodle Crew", channel: voice.name })}](${invite.code})**`) .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Doodle Crew", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER")) .setFooter({ text: message.translate("general/activity:FOOTER") })
.setTimestamp() .setTimestamp()
return message.channel.send(embed); return message.channel.send({ embeds: [embed] });
}); });
break; break;
case "fishing": case "fishing":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "fishing").then(async invite => { this.client.discordTogether.createTogetherCode(message.member.voice.channelId, "fishing").then(async invite => {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setTitle("Fishington.io") .setTitle("Fishington.io")
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Fishington.io", channel: voice.name })}](${invite.code})**`) .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Fishington.io", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER")) .setFooter({ text: message.translate("general/activity:FOOTER") })
.setTimestamp() .setTimestamp()
return message.channel.send(embed); return message.channel.send({ embeds: [embed] });
}); });
break; break;
case "lettertile": case "lettertile":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "lettertile").then(async invite => { this.client.discordTogether.createTogetherCode(message.member.voice.channelId, "lettertile").then(async invite => {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setTitle("Letter Tile") .setTitle("Letter Tile")
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Letter Tile", channel: voice.name })}](${invite.code})**`) .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Letter Tile", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER")) .setFooter({ text: message.translate("general/activity:FOOTER") })
.setTimestamp() .setTimestamp()
return message.channel.send(embed); return message.channel.send({ embeds: [embed] });
}); });
break; break;
case "poker": case "poker":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "poker").then(async invite => { this.client.discordTogether.createTogetherCode(message.member.voice.channelId, "poker").then(async invite => {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setTitle("Poker Night") .setTitle("Poker Night")
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Poker Night", channel: voice.name })}](${invite.code})**`) .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Poker Night", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER")) .setFooter({ text: message.translate("general/activity:FOOTER") })
.setTimestamp() .setTimestamp()
return message.channel.send(embed); return message.channel.send({ embeds: [embed] });
}); });
break; break;
case "spellcast": case "spellcast":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "spellcast").then(async invite => { this.client.discordTogether.createTogetherCode(message.member.voice.channelId, "spellcast").then(async invite => {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setTitle("Spell Cast") .setTitle("Spell Cast")
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Spell Cast", channel: voice.name })}](${invite.code})**`) .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Spell Cast", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER")) .setFooter({ text: message.translate("general/activity:FOOTER") })
.setTimestamp() .setTimestamp()
return message.channel.send(embed); return message.channel.send({ embeds: [embed] });
}); });
break; break;
case "wordsnack": case "wordsnack":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "wordsnack").then(async invite => { this.client.discordTogether.createTogetherCode(message.member.voice.channelId, "wordsnack").then(async invite => {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setTitle("Words Snack") .setTitle("Words Snack")
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Words Snack", channel: voice.name })}](${invite.code})**`) .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Words Snack", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER")) .setFooter({ text: message.translate("general/activity:FOOTER") })
.setTimestamp() .setTimestamp()
return message.channel.send(embed); return message.channel.send({ embeds: [embed] });
}); });
break; break;
case "puttparty": case "puttparty":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "puttparty").then(async invite => { this.client.discordTogether.createTogetherCode(message.member.voice.channelId, "puttparty").then(async invite => {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setTitle("Puttparty") .setTitle("Puttparty")
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Puttparty", channel: voice.name })}](${invite.code})**`) .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Puttparty", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER")) .setFooter({ text: message.translate("general/activity:FOOTER") })
.setTimestamp() .setTimestamp()
return message.channel.send(embed); return message.channel.send({ embeds: [embed] });
}); });
break; break;
case "youtube": case "youtube":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "youtube").then(async invite => { this.client.discordTogether.createTogetherCode(message.member.voice.channelId, "youtube").then(async invite => {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setTitle("Youtube Together") .setTitle("Youtube Together")
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Youtube Together", channel: voice.name })}](${invite.code})**`) .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Youtube Together", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER")) .setFooter({ text: message.translate("general/activity:FOOTER") })
.setTimestamp() .setTimestamp()
return message.channel.send(embed); return message.channel.send({ embeds: [embed] });
}); });
break; break;
@ -177,9 +177,9 @@ class Activity extends Command {
.setTitle(message.translate("general/activity:TITLE")) .setTitle(message.translate("general/activity:TITLE"))
.setDescription(activities.join("\n")) .setDescription(activities.join("\n"))
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(message.translate("general/activity:FOOTER")) .setFooter({ text: message.translate("general/activity:FOOTER") })
.setTimestamp() .setTimestamp()
message.channel.send(embed); message.channel.send({ embeds: [embed] });
break; break;
}; };
} }

View file

@ -65,11 +65,10 @@ class Fortnite extends Command {
.setDescription(message.translate("general/fortnite:TITLE", { .setDescription(message.translate("general/fortnite:TITLE", {
username: `[${stats.data.username}](${stats.data.url.replace(new RegExp(" ", "g"), "%20")})` username: `[${stats.data.username}](${stats.data.url.replace(new RegExp(" ", "g"), "%20")})`
})) }))
.attachFiles(attachment)
.setImage("attachment://fortnite-stats-image.png") .setImage("attachment://fortnite-stats-image.png")
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(data.config.embed.footer); .setFooter({ text: data.config.embed.footer });
message.channel.send(embed); message.channel.send({ embeds: [embed], files: [attachment] });
m.delete(); m.delete();
} }
}; };

View file

@ -41,18 +41,17 @@ class Fortniteshop extends Command {
const attachment = new Discord.MessageAttachment(image, "shop.png"); const attachment = new Discord.MessageAttachment(image, "shop.png");
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.translate("general/fortniteshop:HEADER", { .setAuthor({ name: message.translate("general/fortniteshop:HEADER", {
date: message.printDate(new Date(Date.now())) date: message.printDate(new Date(Date.now()))
}), this.client.user.displayAvatarURL({ }), iconURL: this.client.user.displayAvatarURL({
size: 512, size: 512,
dynamic: true, dynamic: true,
format: "png" format: "png"
})) })})
.attachFiles(attachment)
.setImage("attachment://shop.png") .setImage("attachment://shop.png")
.setColor(this.client.config.embed.color) .setColor(data.config.embed.color)
.setFooter(this.client.config.embed.footer); .setFooter({ text: data.config.embed.footer });
await message.channel.send(embed); await message.channel.send({ embeds: [embed], files: [attachment] });
await m.delete(); await m.delete();
return; return;
} }

View file

@ -23,11 +23,12 @@ class Github extends Command {
const json = await res.json(); const json = await res.json();
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(this.client.user.tag, this.client.user.displayAvatarURL({ .setAuthor({ name: this.client.user.tag, iconURL: this.client.user.displayAvatarURL({
size: 512, size: 512,
dynamic: true, dynamic: true,
format: "png" format: "png"
})) })
})
.setDescription(`[${message.translate("general/github:CLICK_HERE")}](${json.html_url})`) .setDescription(`[${message.translate("general/github:CLICK_HERE")}](${json.html_url})`)
.addField("Название", json.name, true) .addField("Название", json.name, true)
.addField("Звёзды", json.stargazers_count, true) .addField("Звёзды", json.stargazers_count, true)
@ -36,9 +37,9 @@ class Github extends Command {
.addField(message.translate("general/github:OWNER"), `[${json.owner.login}](${json.owner.html_url})`) .addField(message.translate("general/github:OWNER"), `[${json.owner.login}](${json.owner.html_url})`)
.setImage(json.owner.avatar_url) .setImage(json.owner.avatar_url)
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(data.config.embed.footer); .setFooter({ text: data.config.embed.footer });
message.channel.send(embed); message.channel.send({ embeds: [embed] });
} }
}; };

View file

@ -37,10 +37,10 @@ class Hastebin extends Command {
const url = `https://hastebin.com/${json.key}.js`; const url = `https://hastebin.com/${json.key}.js`;
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.translate("general/hastebin:SUCCESS")) .setAuthor({ name: message.translate("general/hastebin:SUCCESS") })
.setDescription(url) .setDescription(url)
.setColor(data.config.embed.color); .setColor(data.config.embed.color);
message.channel.send(embed); message.channel.send({ embeds: [embed] });
} catch (e) { } catch (e) {
message.error("misc:ERR_OCCURRED"); message.error("misc:ERR_OCCURRED");
}; };

View file

@ -41,18 +41,16 @@ class Help extends Command {
}); });
const groupEmbed = new Discord.MessageEmbed() const groupEmbed = new Discord.MessageEmbed()
.setAuthor(message.translate("general/help:CMD_TITLE", { .setAuthor({ name: message.translate("general/help:CMD_TITLE", { cmd: cmd.help.name }) })
cmd: cmd.help.name
}))
.addField(message.translate("general/help:FIELD_DESCRIPTION"), description) .addField(message.translate("general/help:FIELD_DESCRIPTION"), description)
.addField(message.translate("general/help:FIELD_USAGE"), usage) .addField(message.translate("general/help:FIELD_USAGE"), usage)
.addField(message.translate("general/help:FIELD_EXAMPLES"), examples) .addField(message.translate("general/help:FIELD_EXAMPLES"), examples)
.addField(message.translate("general/help:FIELD_ALIASES"), cmd.help.aliases.length > 0 ? cmd.help.aliases.map(a => "`" + a + "`").join("\n") : message.translate("general/help:NO_ALIAS")) .addField(message.translate("general/help:FIELD_ALIASES"), cmd.help.aliases.length > 0 ? cmd.help.aliases.map(a => "`" + a + "`").join("\n") : message.translate("general/help:NO_ALIAS"))
.addField(message.translate("general/help:FIELD_PERMISSIONS"), cmd.conf.memberPermissions.length > 0 ? cmd.conf.memberPermissions.map((p) => `\`${p}\``).join("\n") : message.translate("general/help:NO_REQUIRED_PERMISSION")) .addField(message.translate("general/help:FIELD_PERMISSIONS"), cmd.conf.memberPermissions.length > 0 ? cmd.conf.memberPermissions.map((p) => `\`${p}\``).join("\n") : message.translate("general/help:NO_REQUIRED_PERMISSION"))
.setColor(this.client.config.embed.color) .setColor(this.client.config.embed.color)
.setFooter(this.client.config.embed.footer); .setFooter({ text: this.client.config.embed.footer });
return message.channel.send(groupEmbed); return message.channel.send({ embeds: [groupEmbed] });
}; };
const categories = []; const categories = [];
@ -72,7 +70,7 @@ class Help extends Command {
prefix: message.guild ? data.guild.prefix : "" prefix: message.guild ? data.guild.prefix : ""
})) }))
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(data.config.embed.footer); .setFooter({ text: data.config.embed.footer });
categories.sort().forEach((cat) => { categories.sort().forEach((cat) => {
const tCommands = commands.filter((cmd) => cmd.help.category === cat); const tCommands = commands.filter((cmd) => cmd.help.category === cat);
embed.addField(`${emojis.categories[cat.toLowerCase()]} ${cat} - (${tCommands.size})`, `${tCommands.map((cmd) => `${cmd.help.name}`).join(", ")}`); embed.addField(`${emojis.categories[cat.toLowerCase()]} ${cat} - (${tCommands.size})`, `${tCommands.map((cmd) => `${cmd.help.name}`).join(", ")}`);
@ -87,14 +85,14 @@ class Help extends Command {
donateLink: "https://qiwi.com/n/JONNYBRO/", donateLink: "https://qiwi.com/n/JONNYBRO/",
owner: this.client.config.owner.id owner: this.client.config.owner.id
})); }));
embed.setAuthor(message.translate("general/help:TITLE", { embed.setAuthor({ name: message.translate("general/help:TITLE", {
name: this.client.user.username name: this.client.user.username
}), this.client.user.displayAvatarURL({ }), iconURL: this.client.user.displayAvatarURL({
size: 512, size: 512,
dynamic: true, dynamic: true,
format: "png" format: "png"
})); })});
return message.channel.send(embed); return message.channel.send({ embeds: [embed] });
} }
}; };

View file

@ -21,7 +21,7 @@ class Invitations extends Command {
let member = await this.client.resolveMember(args[0], message.guild); let member = await this.client.resolveMember(args[0], message.guild);
if (!member) member = message.member; if (!member) member = message.member;
const invites = await message.guild.fetchInvites().catch(() => {}); const invites = await message.guild.invites.fetch().catch(() => {});
if (!invites) return message.error("misc:ERR_OCCURRED"); if (!invites) return message.error("misc:ERR_OCCURRED");
const memberInvites = invites.filter((i) => i.inviter && i.inviter.id === member.user.id); const memberInvites = invites.filter((i) => i.inviter && i.inviter.id === member.user.id);
@ -48,8 +48,8 @@ class Invitations extends Command {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(data.config.embed.footer) .setFooter({ text: data.config.embed.footer })
.setAuthor(message.translate("general/invitations:TRACKER")) .setAuthor({ name: message.translate("general/invitations:TRACKER") })
.setDescription(message.translate("general/invitations:TITLE", { .setDescription(message.translate("general/invitations:TITLE", {
member: member.user.tag, member: member.user.tag,
guild: message.guild.name guild: message.guild.name
@ -59,7 +59,7 @@ class Invitations extends Command {
})) }))
.addField(message.translate("general/invitations:FIELD_CODES"), content); .addField(message.translate("general/invitations:FIELD_CODES"), content);
message.channel.send(embed); message.channel.send({ embeds: [embed] });
} }
}; };

View file

@ -18,14 +18,14 @@ class Invite extends Command {
} }
async run(message, args, data) { async run(message, args, data) {
const inviteLink = `https://discordapp.com/oauth2/authorize?client_id=${this.client.user.id}&scope=bot&permissions=8`; const inviteLink = this.client.generateInvite({ scopes: ["bot"] , permissions: [Discord.Permissions.FLAGS.ADMINISTRATOR] });
const voteURL = `https://discordbots.org/bot/${this.client.user.id}/vote`; const voteURL = `https://discordbots.org/bot/${this.client.user.id}/vote`;
const supportURL = await this.client.functions.supportLink(this.client); const supportURL = await this.client.functions.supportLink(this.client);
if (args[0] && args[0] === "copy") return message.channel.send(inviteLink); if (args[0] && args[0] === "copy") return message.channel.send({ content: inviteLink });
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.translate("general/invite:LINKS")) .setAuthor({ name: message.translate("general/invite:LINKS") })
.setDescription(message.translate("general/invite:TIP", { .setDescription(message.translate("general/invite:TIP", {
prefix: data.guild.prefix || "" prefix: data.guild.prefix || ""
})) }))
@ -33,9 +33,9 @@ class Invite extends Command {
.addField(message.translate("general/invite:VOTE"), voteURL) .addField(message.translate("general/invite:VOTE"), voteURL)
.addField(message.translate("general/invite:SUPPORT"), supportURL) .addField(message.translate("general/invite:SUPPORT"), supportURL)
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(data.config.embed.footer); .setFooter({ text: data.config.embed.footer });
message.channel.send(embed); message.channel.send({ embeds: [embed] });
} }
}; };

View file

@ -66,9 +66,10 @@ class Minecraft extends Command {
const imgAttachment = new Discord.MessageAttachment(await imgRes.buffer(), "success.png"); const imgAttachment = new Discord.MessageAttachment(await imgRes.buffer(), "success.png");
const mcEmbed = new Discord.MessageEmbed() const mcEmbed = new Discord.MessageEmbed()
.setAuthor(message.translate("general/minecraft:FIELD_NAME", { .setAuthor({ name: message.translate("general/minecraft:FIELD_NAME", {
ip: json.name ip: json.name
})) })
})
.addField(message.translate("general/minecraft:FIELD_VERSION"), json.raw.vanilla.raw.version.name) .addField(message.translate("general/minecraft:FIELD_VERSION"), json.raw.vanilla.raw.version.name)
.addField(message.translate("general/minecraft:FIELD_CONNECTED"), message.translate("general/minecraft:PLAYERS", { .addField(message.translate("general/minecraft:FIELD_CONNECTED"), message.translate("general/minecraft:PLAYERS", {
count: (json.raw.players ? json.raw.players.online : json.players.length) count: (json.raw.players ? json.raw.players.online : json.players.length)
@ -80,9 +81,9 @@ class Minecraft extends Command {
.addField(message.translate("general/minecraft:FIELD_IP"), json.connect) .addField(message.translate("general/minecraft:FIELD_IP"), json.connect)
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setThumbnail(favicon) .setThumbnail(favicon)
.setFooter(data.config.embed.footer); .setFooter({ text: data.config.embed.footer });
m.edit(null, [mcEmbed, imgAttachment]); m.edit({ content: null, embeds: [mcEmbed], files: [imgAttachment] });
} }
}; };

View file

@ -37,7 +37,7 @@ class Permissions extends Command {
}; };
}); });
text += `\n${total.allowed} ✅ | ${total.denied}` + "\n```"; text += `\n${total.allowed} ✅ | ${total.denied}` + "\n```";
message.channel.send(text); message.channel.send({ content: text });
} }
}; };

View file

@ -22,9 +22,7 @@ class Ping extends Command {
}).then((m) => { }).then((m) => {
m.sendT("general/ping:CONTENT", { m.sendT("general/ping:CONTENT", {
ping: m.createdTimestamp - message.createdTimestamp ping: m.createdTimestamp - message.createdTimestamp
}, { }, { edit: true });
edit: true
});
}); });
} }
}; };

View file

@ -20,14 +20,14 @@ class Quote extends Command {
async run(message, args, data) { async run(message, args, data) {
function embed(m) { function embed(m) {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(m.author.tag, m.author.displayAvatarURL({ .setAuthor({ name: m.author.tag, iconURL: m.author.displayAvatarURL({
size: 512, size: 512,
dynamic: true, dynamic: true,
format: "png" format: "png"
})) })})
.setDescription(m.content) .setDescription(m.content)
.setColor(m.member ? m.member.roles.highest ? m.member.roles.highest.color : data.config.embed.color : data.config.embed.color) .setColor(m.member ? m.member.roles.highest ? m.member.roles.highest.color : data.config.embed.color : data.config.embed.color)
.setFooter(m.guild.name + " | #" + m.channel.name) .setFooter({ text: m.guild.name + " | #" + m.channel.name })
.setTimestamp(m.createdTimestamp); .setTimestamp(m.createdTimestamp);
if (m.attachments.size > 0) embed.setImage(m.attachments.first().url); if (m.attachments.size > 0) embed.setImage(m.attachments.first().url);
return embed; return embed;
@ -35,7 +35,7 @@ class Quote extends Command {
const msgID = args[0]; const msgID = args[0];
if (isNaN(msgID)) { if (isNaN(msgID)) {
message.author.send(message.translate("general/quote:MISSING_ID")).then(() => { message.author.send({ content: message.translate("general/quote:MISSING_ID") }).then(() => {
message.delete(); message.delete();
}).catch(() => { }).catch(() => {
message.error("misc:CANNOT_DM"); message.error("misc:CANNOT_DM");
@ -66,7 +66,7 @@ class Quote extends Command {
return; return;
}).then((msg) => { }).then((msg) => {
message.delete(); message.delete();
message.channel.send(embed(msg)); message.channel.send({ embeds: [embed(msg)] });
}); });
} else { } else {
channel.messages.fetch(msgID).catch(() => { channel.messages.fetch(msgID).catch(() => {
@ -78,7 +78,7 @@ class Quote extends Command {
return; return;
}).then((msg) => { }).then((msg) => {
message.delete(); message.delete();
message.channel.send(embed(msg)); message.channel.send({ embeds: [embed(msg)] });
}); });
}; };
} }

View file

@ -29,24 +29,24 @@ class Report extends Command {
if (!rep) return message.error("general/report:MISSING_REASON"); if (!rep) return message.error("general/report:MISSING_REASON");
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.translate("general/report:TITLE", { .setAuthor({ name: message.translate("general/report:TITLE", {
user: member.user.tag user: member.user.tag
}), message.author.displayAvatarURL({ }), iconURL: message.author.displayAvatarURL({
size: 512, size: 512,
dynamic: true, dynamic: true,
format: "png" format: "png"
})) })})
.addField(message.translate("common:AUTHOR"), message.author.tag, true) .addField(message.translate("common:AUTHOR"), message.author.tag, true)
.addField(message.translate("common:DATE"), message.printDate(new Date(Date.now())), true) .addField(message.translate("common:DATE"), message.printDate(new Date(Date.now())), true)
.addField(message.translate("common:REASON"), rep, true) .addField(message.translate("common:REASON"), rep, true)
.addField(message.translate("common:USER"), `\`${member.user.tag}\` (${member.user.toString()})`, true) .addField(message.translate("common:USER"), `\`${member.user.tag}\` (${member.user.toString()})`, true)
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(data.config.embed.footer); .setFooter({ text: data.config.embed.footer });
const success = Discord.Util.parseEmoji(this.client.customEmojis.success).id; const success = Discord.Util.parseEmoji(this.client.customEmojis.success).id;
const error = Discord.Util.parseEmoji(this.client.customEmojis.error).id; const error = Discord.Util.parseEmoji(this.client.customEmojis.error).id;
repChannel.send(embed).then(async (m) => { repChannel.send({ embeds: [embed] }).then(async (m) => {
await m.react(success); await m.react(success);
await m.react(error); await m.react(error);
}); });

View file

@ -31,9 +31,9 @@ class Serverinfo extends Command {
await guild.members.fetch(); await guild.members.fetch();
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(guild.name, guild.iconURL({ .setAuthor({ name: guild.name, iconURL: guild.iconURL({
dynamic: true dynamic: true
})) })})
.setThumbnail(guild.iconURL({ .setThumbnail(guild.iconURL({
dynamic: true dynamic: true
})) }))
@ -48,14 +48,14 @@ class Serverinfo extends Command {
.addField(this.client.customEmojis.crown + message.translate("common:OWNER"), guild.owner, true) .addField(this.client.customEmojis.crown + message.translate("common:OWNER"), guild.owner, true)
.addField(this.client.customEmojis.boost + message.translate("general/serverinfo:BOOSTS"), guild.premiumSubscriptionCount || 0, true) .addField(this.client.customEmojis.boost + message.translate("general/serverinfo:BOOSTS"), guild.premiumSubscriptionCount || 0, true)
.addField(this.client.customEmojis.channels + message.translate("common:CHANNELS"), .addField(this.client.customEmojis.channels + message.translate("common:CHANNELS"),
`${guild.channels.cache.filter(c => c.type === "text").size} ${message.getNoun(guild.channels.cache.filter(c => c.type === "text").size, message.translate("misc:NOUNS:TEXT:1"), message.translate("misc:NOUNS:TEXT:2"), message.translate("misc:NOUNS:TEXT:5"))}` + `${guild.channels.cache.filter(c => c.type === "GUILD_TEXT").size} ${message.getNoun(guild.channels.cache.filter(c => c.type === "GUILD_TEXT").size, message.translate("misc:NOUNS:TEXT:1"), message.translate("misc:NOUNS:TEXT:2"), message.translate("misc:NOUNS:TEXT:5"))}` +
"\n" + `${guild.channels.cache.filter(c => c.type === "voice").size} ${message.getNoun(guild.channels.cache.filter(c => c.type === "voice").size, message.translate("misc:NOUNS:VOICE:1"), message.translate("misc:NOUNS:VOICE:2"), message.translate("misc:NOUNS:VOICE:5"))}` + "\n" + `${guild.channels.cache.filter(c => c.type === "GUILD_VOICE").size} ${message.getNoun(guild.channels.cache.filter(c => c.type === "GUILD_VOICE").size, message.translate("misc:NOUNS:VOICE:1"), message.translate("misc:NOUNS:VOICE:2"), message.translate("misc:NOUNS:VOICE:5"))}` +
"\n" + `${guild.channels.cache.filter(c => c.type === "category").size} ${message.getNoun(guild.channels.cache.filter(c => c.type === "category").size, message.translate("misc:NOUNS:CATEGORY:1"), message.translate("misc:NOUNS:CATEGORY:2"), message.translate("misc:NOUNS:CATEGORY:5"))}`, true "\n" + `${guild.channels.cache.filter(c => c.type === "GUILD_CATEGORY").size} ${message.getNoun(guild.channels.cache.filter(c => c.type === "GUILD_CATEGORY").size, message.translate("misc:NOUNS:CATEGORY:1"), message.translate("misc:NOUNS:CATEGORY:2"), message.translate("misc:NOUNS:CATEGORY:5"))}`, true
) )
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(data.config.embed.footer); .setFooter({ text: data.config.embed.footer });
message.channel.send(embed); message.channel.send({ embeds: [embed] });
} }
}; };

View file

@ -29,9 +29,9 @@ class ShortURL extends Command {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(data.config.embed.footer) .setFooter({ text: data.config.embed.footer })
.setDescription(body); .setDescription(body);
message.channel.send(embed); message.channel.send({ embeds: [embed] });
} }
}; };

View file

@ -30,7 +30,7 @@ class Someone extends Command {
format: "png" format: "png"
})) }))
.setColor(data.config.embed.color); .setColor(data.config.embed.color);
message.channel.send(embed); message.channel.send({ embeds: [embed] });
} }
}; };

View file

@ -19,17 +19,17 @@ class Staff extends Command {
async run(message, args, data) { async run(message, args, data) {
await message.guild.members.fetch(); await message.guild.members.fetch();
const administrators = message.guild.members.cache.filter((m) => m.hasPermission("ADMINISTRATOR") && !m.user.bot); const administrators = message.guild.members.cache.filter((m) => m.permissions.has(Discord.Permissions.FLAGS.ADMINISTRATOR) && !m.user.bot);
const moderators = message.guild.members.cache.filter((m) => !administrators.has(m.id) && m.hasPermission("MANAGE_MESSAGES") && !m.user.bot); const moderators = message.guild.members.cache.filter((m) => !administrators.has(m.id) && m.permissions.has(Discord.Permissions.FLAGS.MANAGE_MESSAGES) && !m.user.bot);
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.translate("general/staff:TITLE", { .setAuthor({ name: message.translate("general/staff:TITLE", {
guild: message.guild.name guild: message.guild.name
})) })})
.addField(message.translate("general/staff:ADMINS"), (administrators.size > 0 ? administrators.map((a) => `${this.client.customEmojis.status[a.presence.status]} | <@${a.user.id}>`).join("\n") : message.translate("general/staff:NO_ADMINS"))) .addField(message.translate("general/staff:ADMINS"), (administrators.size > 0 ? administrators.map((a) => `${this.client.customEmojis.status[a.presence.status]} | <@${a.user.id}>`).join("\n") : message.translate("general/staff:NO_ADMINS")))
.addField(message.translate("general/staff:MODS"), (moderators.size > 0 ? moderators.map((m) => `${this.client.customEmojis.status[m.presence.status]} | <@${m.user.id}>`).join("\n") : message.translate("general/staff:NO_MODS"))) .addField(message.translate("general/staff:MODS"), (moderators.size > 0 ? moderators.map((m) => `${this.client.customEmojis.status[m.presence.status]} | <@${m.user.id}>`).join("\n") : message.translate("general/staff:NO_MODS")))
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(data.config.embed.footer); .setFooter({ text: data.config.embed.footer });
message.channel.send(embed); message.channel.send({ embeds: [embed] });
} }
}; };

View file

@ -20,8 +20,8 @@ class Stats extends Command {
async run(message, args, data) { async run(message, args, data) {
const statsEmbed = new Discord.MessageEmbed() const statsEmbed = new Discord.MessageEmbed()
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(data.config.embed.footer) .setFooter({ text: data.config.embed.footer })
.setAuthor(message.translate("common:STATS")) .setAuthor({ name: message.translate("common:STATS") })
.setDescription(message.translate("general/stats:MADE")) .setDescription(message.translate("general/stats:MADE"))
.addField(this.client.customEmojis.stats + " " + message.translate("general/stats:COUNTS_TITLE"), message.translate("general/stats:COUNTS_CONTENT", { .addField(this.client.customEmojis.stats + " " + message.translate("general/stats:COUNTS_TITLE"), message.translate("general/stats:COUNTS_CONTENT", {
servers: this.client.guilds.cache.size, servers: this.client.guilds.cache.size,
@ -46,7 +46,7 @@ class Stats extends Command {
donateLink: "https://qiwi.com/n/JONNYBRO/", donateLink: "https://qiwi.com/n/JONNYBRO/",
owner: this.client.config.owner.id owner: this.client.config.owner.id
})); }));
message.channel.send(statsEmbed); message.channel.send({ embeds: [statsEmbed] });
} }
}; };

View file

@ -25,23 +25,23 @@ class Suggest extends Command {
if (!sugg) return message.error("general/suggest:MISSING_CONTENT"); if (!sugg) return message.error("general/suggest:MISSING_CONTENT");
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.translate("general/suggest:TITLE", { .setAuthor({ name: message.translate("general/suggest:TITLE", {
user: message.author.username user: message.author.username
}), message.author.displayAvatarURL({ }), iconURL: message.author.displayAvatarURL({
size: 512, size: 512,
dynamic: true, dynamic: true,
format: "png" format: "png"
})) })})
.addField(message.translate("common:AUTHOR"), `\`${message.author.username}#${message.author.discriminator}\``, true) .addField(message.translate("common:AUTHOR"), `\`${message.author.username}#${message.author.discriminator}\``, true)
.addField(message.translate("common:DATE"), message.printDate(new Date(Date.now())), true) .addField(message.translate("common:DATE"), message.printDate(new Date(Date.now())), true)
.addField(message.translate("common:CONTENT"), sugg) .addField(message.translate("common:CONTENT"), sugg)
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(data.config.embed.footer); .setFooter({ text: data.config.embed.footer });
const success = Discord.Util.parseEmoji(this.client.customEmojis.success).id; const success = Discord.Util.parseEmoji(this.client.customEmojis.success).id;
const error = Discord.Util.parseEmoji(this.client.customEmojis.error).id; const error = Discord.Util.parseEmoji(this.client.customEmojis.error).id;
suggChannel.send(embed).then(async (m) => { suggChannel.send({ embeds: [embed] }).then(async (m) => {
await m.react(success); await m.react(success);
await m.react(error); await m.react(error);
}); });

View file

@ -49,18 +49,19 @@ class Translate extends Command {
}); });
const resEmbed = new Discord.MessageEmbed() const resEmbed = new Discord.MessageEmbed()
.setAuthor("Переводчик", this.client.user.displayAvatarURL({ .setAuthor({ name: "Переводчик", iconURL: this.client.user.displayAvatarURL({
size: 512, size: 512,
dynamic: true, dynamic: true,
format: "png" format: "png"
})) })})
.addField(translated.from.language.iso, "```" + toTranslate + "```") .addField(translated.from.language.iso, "```" + toTranslate + "```")
.addField(language, "```" + translated.text + "```") .addField(language, "```" + translated.text + "```")
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(data.config.embed.footer); .setFooter({ text: data.config.embed.footer });
return pWait.edit("", { return pWait.edit({
embed: resEmbed content: null,
embeds: [resEmbed]
}); });
} }
}; };

View file

@ -41,11 +41,11 @@ class Userinfo extends Command {
if (message.guild) member = await message.guild.members.fetch(user).catch(() => {}); if (message.guild) member = await message.guild.members.fetch(user).catch(() => {});
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(user.tag, user.displayAvatarURL({ .setAuthor({ name: user.tag, iconURL: user.displayAvatarURL({
size: 512, size: 512,
dynamic: true, dynamic: true,
format: "png" format: "png"
})) })})
.setThumbnail(user.displayAvatarURL({ .setThumbnail(user.displayAvatarURL({
dynamic: true dynamic: true
})) }))
@ -59,7 +59,7 @@ class Userinfo extends Command {
format: "png" format: "png"
})) }))
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(data.config.embed.footer); .setFooter({ text: data.config.embed.footer });
if (displayPresence) { if (displayPresence) {
embed.addField(this.client.customEmojis.games + " " + message.translate("common:GAME"), (user.presence.activity ? user.presence.activity.name : message.translate("general/userinfo:NO_GAME")), true) embed.addField(this.client.customEmojis.games + " " + message.translate("common:GAME"), (user.presence.activity ? user.presence.activity.name : message.translate("general/userinfo:NO_GAME")), true)
@ -95,7 +95,7 @@ class Userinfo extends Command {
}; };
}; };
message.channel.send(embed); message.channel.send({ embeds: [embed] });
} }
}; };

View file

@ -28,10 +28,13 @@ class Approved extends Command {
size: 512 size: 512
}) })
}); });
const attachment = new Discord.MessageAttachment(buffer, "approved.png");
m.delete(); m.delete();
message.channel.send(attachment); message.channel.send({
files: [{
attachment: buffer
}]
});
} }
}; };

View file

@ -26,10 +26,13 @@ class Avatar extends Command {
format: "png" format: "png"
}); });
if (message.content.includes("link")) message.channel.send(`<${avatarURL}>`); if (message.content.includes("link")) message.channel.send({ content: `<${avatarURL}>` });
const attachment = new Discord.MessageAttachment(avatarURL, `avatar.${avatarURL.split(".").pop().split("?")[0]}`); message.channel.send({
message.channel.send(attachment); files: [{
attachment: avatarURL
}]
});
} }
}; };

View file

@ -35,10 +35,13 @@ class BatSlap extends Command {
size: 512 size: 512
}) })
}); });
const attachment = new Discord.MessageAttachment(buffer, "batslap.png");
m.delete(); m.delete();
message.channel.send(attachment); message.channel.send({
files: [{
attachment: buffer
}]
});
} }
}; };

View file

@ -28,10 +28,13 @@ class Beautiful extends Command {
size: 512 size: 512
}) })
}); });
const attachment = new Discord.MessageAttachment(buffer, "beautiful.png");
m.delete(); m.delete();
message.channel.send(attachment); message.channel.send({
files: [{
attachment: buffer
}]
});
} }
}; };

View file

@ -33,9 +33,13 @@ class Bed extends Command {
}), users[1].displayAvatarURL({ }), users[1].displayAvatarURL({
format: "png" format: "png"
})); }));
const attachment = new Discord.MessageAttachment(buffer, "bed.png");
message.channel.send(attachment);
m.delete(); m.delete();
message.channel.send({
files: [{
attachment: buffer
}]
});
} catch (e) { } catch (e) {
console.log(e); console.log(e);
m.error("misc:ERROR_OCCURRED", null, { m.error("misc:ERROR_OCCURRED", null, {

View file

@ -28,10 +28,13 @@ class Brazzers extends Command {
size: 512 size: 512
}) })
}); });
const attachment = new Discord.MessageAttachment(buffer, "brazzers.png");
m.delete(); m.delete();
message.channel.send(attachment); message.channel.send({
files: [{
attachment: buffer
}]
});
} }
}; };

View file

@ -28,10 +28,13 @@ class Burn extends Command {
size: 512 size: 512
}) })
}); });
const attachment = new Discord.MessageAttachment(buffer, "burn.png");
m.delete(); m.delete();
message.channel.send(attachment); message.channel.send({
files: [{
attachment: buffer
}]
});
} }
}; };

View file

@ -26,9 +26,13 @@ class Captcha extends Command {
try { try {
const res = await fetch(encodeURI(`https://nekobot.xyz/api/imagegen?type=captcha&username=${user.username}&url=${user.displayAvatarURL({ format: "png", size: 512 })}`)); const res = await fetch(encodeURI(`https://nekobot.xyz/api/imagegen?type=captcha&username=${user.username}&url=${user.displayAvatarURL({ format: "png", size: 512 })}`));
const json = await res.json(); const json = await res.json();
const attachment = new Discord.MessageAttachment(json.message, "captcha.png");
message.channel.send(attachment);
m.delete(); m.delete();
message.channel.send({
files: [{
attachment: json.message
}]
});
} catch (e) { } catch (e) {
console.log(e); console.log(e);
m.error("misc:ERR_OCCURRED", null, { m.error("misc:ERR_OCCURRED", null, {

View file

@ -28,10 +28,13 @@ class Challenger extends Command {
size: 512 size: 512
}) })
}); });
const attachment = new Discord.MessageAttachment(buffer, "challenger.png");
m.delete(); m.delete();
message.channel.send(attachment); message.channel.send({
files: [{
attachment: buffer
}]
});
} }
}; };

View file

@ -29,8 +29,11 @@ class Clyde extends Command {
try { try {
const res = await fetch(encodeURI(`https://nekobot.xyz/api/imagegen?type=clyde&text=${text}`)); const res = await fetch(encodeURI(`https://nekobot.xyz/api/imagegen?type=clyde&text=${text}`));
const json = await res.json(); const json = await res.json();
const attachment = new Discord.MessageAttachment(json.message, "clyde.png"); message.channel.send({
message.channel.send(attachment); files: [{
attachment: json.message
}]
});
m.delete(); m.delete();
} catch (e) { } catch (e) {
console.log(e); console.log(e);

View file

@ -28,10 +28,13 @@ class Dictator extends Command {
size: 512 size: 512
}) })
}); });
const attachment = new Discord.MessageAttachment(buffer, "dictator.png");
m.delete(); m.delete();
message.channel.send(attachment); message.channel.send({
files: [{
attachment: buffer
}]
});
} }
}; };

View file

@ -42,11 +42,13 @@ class Facepalm extends Command {
const layer = await Canvas.loadImage("./assets/img/facepalm.png"); const layer = await Canvas.loadImage("./assets/img/facepalm.png");
ctx.drawImage(layer, 0, 0, 632, 357); ctx.drawImage(layer, 0, 0, 632, 357);
const attachment = new Discord.MessageAttachment(canvas.toBuffer(), "facepalm.png");
m.delete(); m.delete();
message.channel.send(attachment); message.channel.send({
files: [{
attachment: buffer
}]
});
} }
}; };

View file

@ -28,10 +28,13 @@ class Fire extends Command {
size: 512 size: 512
}) })
}); });
const attachment = new Discord.MessageAttachment(buffer, "fire.png");
m.delete(); m.delete();
message.channel.send(attachment); message.channel.send({
files: [{
attachment: buffer
}]
});
} }
}; };

View file

@ -28,10 +28,13 @@ class Jail extends Command {
size: 1024 size: 1024
}) })
}); });
const attachment = new Discord.MessageAttachment(buffer, "jail.png");
m.delete(); m.delete();
message.channel.send(attachment); message.channel.send({
files: [{
attachment: buffer
}]
});
} }
}; };

View file

@ -30,8 +30,11 @@ class Love extends Command {
try { try {
const res = await fetch(encodeURI(`https://nekobot.xyz/api/imagegen?type=ship&user1=${users[0].displayAvatarURL({ format: "png", size: 512 })}&user2=${users[1].displayAvatarURL({ format: "png", size: 512 })}`)); const res = await fetch(encodeURI(`https://nekobot.xyz/api/imagegen?type=ship&user1=${users[0].displayAvatarURL({ format: "png", size: 512 })}&user2=${users[1].displayAvatarURL({ format: "png", size: 512 })}`));
const json = await res.json(); const json = await res.json();
const attachment = new Discord.MessageAttachment(json.message, "love.png"); message.channel.send({
message.channel.send(attachment); files: [{
attachment: json.message
}]
});
m.delete(); m.delete();
} catch (e) { } catch (e) {
console.log(e); console.log(e);

View file

@ -28,10 +28,13 @@ class Mission extends Command {
size: 2048 size: 2048
}) })
}); });
const attachment = new Discord.MessageAttachment(buffer, "mission.png");
m.delete(); m.delete();
message.channel.send(attachment); message.channel.send({
files: [{
attachment: buffer
}]
});
} }
}; };

View file

@ -41,9 +41,13 @@ class Phcomment extends Command {
}), }),
message: text message: text
}); });
const attachment = new Discord.MessageAttachment(buffer, "phcomment.png");
message.channel.send(attachment);
m.delete(); m.delete();
message.channel.send({
files: [{
attachment: buffer
}]
});
} catch (e) { } catch (e) {
console.log(e); console.log(e);
m.error("misc:ERROR_OCCURRED", null, { m.error("misc:ERROR_OCCURRED", null, {

View file

@ -29,9 +29,11 @@ class Qrcode extends Command {
.setImage(`https://api.qrserver.com/v1/create-qr-code/?size=150x150&data=${text.replace(new RegExp(" ", "g"), "%20")}`) .setImage(`https://api.qrserver.com/v1/create-qr-code/?size=150x150&data=${text.replace(new RegExp(" ", "g"), "%20")}`)
.setColor(data.config.embed.color); .setColor(data.config.embed.color);
pleaseWait.edit(message.translate("images/qrcode:SUCCESS"), { pleaseWait.edit({
embed content: message.translate("images/qrcode:SUCCESS"),
embeds: [embed]
}); });
} }
}; };

View file

@ -28,10 +28,13 @@ class Rip extends Command {
size: 512 size: 512
}) })
}); });
const attachment = new Discord.MessageAttachment(buffer, "rip.png");
m.delete(); m.delete();
message.channel.send(attachment); message.channel.send({
files: [{
attachment: buffer
}]
});
} }
}; };

View file

@ -28,10 +28,13 @@ class Scary extends Command {
size: 512 size: 512
}) })
}); });
const attachment = new Discord.MessageAttachment(buffer, "scary.png");
m.delete(); m.delete();
message.channel.send(attachment); message.channel.send({
files: [{
attachment: buffer
}]
});
} }
}; };

View file

@ -28,10 +28,13 @@ class Tobecontinued extends Command {
size: 512 size: 512
}) })
}); });
const attachment = new Discord.MessageAttachment(buffer, "tobecontinued.png");
m.delete(); m.delete();
message.channel.send(attachment); message.channel.send({
files: [{
attachment: buffer
}]
});
} }
}; };

View file

@ -27,10 +27,13 @@ class Trash extends Command {
format: "png", format: "png",
size: 512 size: 512
})); }));
const attachment = new Discord.MessageAttachment(buffer, "trash.png");
m.delete(); m.delete();
message.channel.send(attachment); message.channel.send({
files: [{
attachment: buffer
}]
});
} }
}; };

View file

@ -30,10 +30,13 @@ class Triggered extends Command {
sepia: "true", sepia: "true",
invert: "true" invert: "true"
}); });
const attachment = new Discord.MessageAttachment(buffer, "triggered.gif");
m.delete(); m.delete();
message.channel.send(attachment); message.channel.send({
files: [{
attachment: buffer
}]
});
} }
}; };

View file

@ -39,10 +39,13 @@ class Tweet extends Command {
avatar3: randomMembers[2].user.displayAvatarURL(), avatar3: randomMembers[2].user.displayAvatarURL(),
text text
}); });
const attachment = new Discord.MessageAttachment(buffer, "twitter.png");
m.delete(); m.delete();
message.channel.send(attachment); message.channel.send({
files: [{
attachment: buffer
}]
});
} }
}; };

View file

@ -28,10 +28,13 @@ class Wanted extends Command {
size: 512 size: 512
}) })
}); });
const attachment = new Discord.MessageAttachment(buffer, "wanted.png");
m.delete(); m.delete();
message.channel.send(attachment); message.channel.send({
files: [{
attachment: buffer
}]
});
} }
}; };

View file

@ -28,10 +28,13 @@ class Wasted extends Command {
size: 512 size: 512
}) })
}); });
const attachment = new Discord.MessageAttachment(buffer, "wasted.png");
m.delete(); m.delete();
message.channel.send(attachment); message.channel.send({
files: [{
attachment: buffer
}]
});
} }
}; };

View file

@ -40,10 +40,13 @@ class YouTubeComment extends Command {
}), }),
content: text content: text
}); });
const attachment = new Discord.MessageAttachment(image, "ytb-comment.png");
m.delete(); m.delete();
message.channel.send(attachment); message.channel.send({
files: [{
attachment: image
}]
});
} }
}; };

View file

@ -26,7 +26,10 @@ class Announcement extends Command {
let mention = ""; let mention = "";
const msg = await message.sendT("moderation/announcement:MENTION_PROMPT"); const msg = await message.sendT("moderation/announcement:MENTION_PROMPT");
const collector = new Discord.MessageCollector(message.channel, (m) => m.author.id === message.author.id, {
const filter = m => m.author.id === message.author.id;
const collector = new Discord.MessageCollector(message.channel, {
filter,
time: 240000 time: 240000
}); });
@ -41,7 +44,10 @@ class Announcement extends Command {
tmsg.delete(); tmsg.delete();
msg.delete(); msg.delete();
const tmsg1 = await message.sendT("moderation/announcement:MENTION_TYPE_PROMPT"); const tmsg1 = await message.sendT("moderation/announcement:MENTION_TYPE_PROMPT");
const c = new Discord.MessageCollector(message.channel, (m) => m.author.id === message.author.id, {
const filter = m => m.author.id === message.author.id;
const c = new Discord.MessageCollector(message.channel, {
filter,
time: 60000 time: 60000
}); });
c.on("collect", (m) => { c.on("collect", (m) => {
@ -69,13 +75,13 @@ class Announcement extends Command {
if (reason === "time") return message.error("misc:TIMES_UP"); if (reason === "time") return message.error("misc:TIMES_UP");
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.translate("moderation/announcement:TITLE")) .setAuthor({ name: message.translate("moderation/announcement:TITLE") })
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(message.author.tag) .setFooter({ text: message.author.tag })
.setTimestamp() .setTimestamp()
.setDescription(text); .setDescription(text);
message.channel.send(mention, embed); message.channel.send({ content: mention, embeds: [embed] });
}); });
} }
}; };

View file

@ -29,7 +29,7 @@ class Ban extends Command {
if (user.id === message.author.id) return message.error("moderation/ban:YOURSELF"); if (user.id === message.author.id) return message.error("moderation/ban:YOURSELF");
// If the user is already banned // If the user is already banned
const banned = await message.guild.fetchBans(); const banned = await message.guild.bans.fetch();
if (banned.some((m) => m.user.id === user.id)) return message.error("moderation/ban:ALREADY_BANNED", { if (banned.some((m) => m.user.id === user.id)) return message.error("moderation/ban:ALREADY_BANNED", {
username: user.tag username: user.tag
}); });
@ -42,7 +42,7 @@ class Ban extends Command {
if (member) { if (member) {
const memberPosition = member.roles.highest.position; const memberPosition = member.roles.highest.position;
const moderationPosition = message.member.roles.highest.position; const moderationPosition = message.member.roles.highest.position;
if (message.member.ownerID !== message.author.id && !(moderationPosition > memberPosition)) return message.error("moderation/ban:SUPERIOR"); if (message.member.ownerId !== message.author.id && !(moderationPosition > memberPosition)) return message.error("moderation/ban:SUPERIOR");
if (!member.bannable) return message.error("moderation/ban:MISSING_PERM"); if (!member.bannable) return message.error("moderation/ban:MISSING_PERM");
}; };
@ -86,14 +86,14 @@ class Ban extends Command {
const channel = message.guild.channels.cache.get(data.guild.plugins.modlogs); const channel = message.guild.channels.cache.get(data.guild.plugins.modlogs);
if (!channel) return; if (!channel) return;
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.translate("moderation/ban:CASE", { .setAuthor({ name: message.translate("moderation/ban:CASE", {
count: data.guild.casesCount count: data.guild.casesCount
})) })})
.addField(message.translate("common:USER"), `\`${user.tag}\` (${user.toString()})`, true) .addField(message.translate("common:USER"), `\`${user.tag}\` (${user.toString()})`, true)
.addField(message.translate("common:MODERATOR"), `\`${message.author.tag}\` (${message.author.toString()})`, true) .addField(message.translate("common:MODERATOR"), `\`${message.author.tag}\` (${message.author.toString()})`, true)
.addField(message.translate("common:REASON"), reason, true) .addField(message.translate("common:REASON"), reason, true)
.setColor("#e02316"); .setColor("#e02316");
channel.send(embed); channel.send({ embeds: [embed] });
}; };
}).catch((err) => { }).catch((err) => {

View file

@ -36,9 +36,9 @@ class Checkinvites extends Command {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setDescription(text) .setDescription(text)
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(data.config.embed.footer); .setFooter({ text: data.config.embed.footer });
const m = await message.channel.send(embed); const m = await message.channel.send({ embeds: [embed] });
setTimeout(function () { setTimeout(function () {
m.delete(); m.delete();

View file

@ -30,7 +30,7 @@ class Clear extends Command {
const newChannel = await message.channel.clone(); const newChannel = await message.channel.clone();
await message.channel.delete(); await message.channel.delete();
newChannel.setPosition(position); newChannel.setPosition(position);
return newChannel.send(message.translate("moderation/clear:CHANNEL_CLEARED")); return newChannel.send({ content: message.translate("moderation/clear:CHANNEL_CLEARED") });
}; };
let amount = args[0]; let amount = args[0];
@ -43,7 +43,6 @@ class Clear extends Command {
let messages = await message.channel.messages.fetch({ let messages = await message.channel.messages.fetch({
limit: 100 limit: 100
}); });
messages = messages.array();
if (user) messages = messages.filter((m) => m.author.id === user.id); if (user) messages = messages.filter((m) => m.author.id === user.id);
if (messages.length > amount) messages.length = parseInt(amount, 10); if (messages.length > amount) messages.length = parseInt(amount, 10);

View file

@ -22,7 +22,7 @@ class Giveaway extends Command {
if (!status) return message.error("moderation/giveaway:MISSING_STATUS"); if (!status) return message.error("moderation/giveaway:MISSING_STATUS");
if (status === "create") { if (status === "create") {
const currentGiveaways = this.client.giveawaysManager.giveaways.filter((g) => g.guildID === message.guild.id && !g.ended).length; const currentGiveaways = this.client.giveawaysManager.giveaways.filter((g) => g.guildId === message.guild.id && !g.ended).length;
if (currentGiveaways > 3) return message.error("moderation/giveaway:MAX_COUNT"); if (currentGiveaways > 3) return message.error("moderation/giveaway:MAX_COUNT");
const time = args[1]; const time = args[1];

View file

@ -34,7 +34,7 @@ class Kick extends Command {
const memberPosition = member.roles.highest.position; const memberPosition = member.roles.highest.position;
const moderationPosition = message.member.roles.highest.position; const moderationPosition = message.member.roles.highest.position;
if (message.member.ownerID !== message.author.id && !(moderationPosition > memberPosition)) return message.error("moderation/ban:SUPERIOR"); if (message.member.ownerId !== message.author.id && !(moderationPosition > memberPosition)) return message.error("moderation/ban:SUPERIOR");
if (!member.kickable) return message.error("moderation/kick:MISSING_PERM"); if (!member.kickable) return message.error("moderation/kick:MISSING_PERM");
await member.send(message.translate("moderation/kick:KICKED_DM", { await member.send(message.translate("moderation/kick:KICKED_DM", {
@ -73,14 +73,14 @@ class Kick extends Command {
const channel = message.guild.channels.cache.get(data.guild.plugins.modlogs); const channel = message.guild.channels.cache.get(data.guild.plugins.modlogs);
if (!channel) return; if (!channel) return;
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.translate("moderation/kick:CASE", { .setAuthor({ name: message.translate("moderation/kick:CASE", {
count: data.guild.casesCount count: data.guild.casesCount
})) })})
.addField(message.translate("common:USER"), `\`${member.user.tag}\` (${member.user.toString()})`, true) .addField(message.translate("common:USER"), `\`${member.user.tag}\` (${member.user.toString()})`, true)
.addField(message.translate("common:MODERATOR"), `\`${message.author.tag}\` (${message.author.toString()})`, true) .addField(message.translate("common:MODERATOR"), `\`${message.author.tag}\` (${message.author.toString()})`, true)
.addField(message.translate("common:REASON"), reason, true) .addField(message.translate("common:REASON"), reason, true)
.setColor("#e88709"); .setColor("#e88709");
channel.send(embed); channel.send({ embeds: [embed] });
}; };
}).catch(() => { }).catch(() => {

View file

@ -25,7 +25,7 @@ class Mute extends Command {
const memberPosition = member.roles.highest.position; const memberPosition = member.roles.highest.position;
const moderationPosition = message.member.roles.highest.position; const moderationPosition = message.member.roles.highest.position;
if (message.member.ownerID !== message.author.id && !(moderationPosition > memberPosition)) return message.error("moderation/ban:SUPERIOR"); if (message.member.ownerId !== message.author.id && !(moderationPosition > memberPosition)) return message.error("moderation/ban:SUPERIOR");
const memberData = await this.client.findOrCreateMember({ const memberData = await this.client.findOrCreateMember({
id: member.id, id: member.id,
@ -38,7 +38,7 @@ class Mute extends Command {
if (!reason) reason = message.translate("misc:NO_REASON_PROVIDED"); if (!reason) reason = message.translate("misc:NO_REASON_PROVIDED");
message.guild.channels.cache.forEach((channel) => { message.guild.channels.cache.forEach((channel) => {
channel.updateOverwrite(member.id, { channel.permissionOverwrites.edit(member.id, {
SEND_MESSAGES: false, SEND_MESSAGES: false,
ADD_REACTIONS: false, ADD_REACTIONS: false,
CONNECT: false CONNECT: false
@ -90,16 +90,16 @@ class Mute extends Command {
const channel = message.guild.channels.cache.get(data.guild.plugins.modlogs); const channel = message.guild.channels.cache.get(data.guild.plugins.modlogs);
if (!channel) return; if (!channel) return;
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.translate("moderation/mute:CASE", { .setAuthor({ name: message.translate("moderation/mute:CASE", {
count: data.guild.casesCount count: data.guild.casesCount
})) })})
.addField(message.translate("common:USER"), `\`${member.user.tag}\` (${member.user.toString()})`, true) .addField(message.translate("common:USER"), `\`${member.user.tag}\` (${member.user.toString()})`, true)
.addField(message.translate("common:MODERATOR"), `\`${message.author.tag}\` (${message.author.toString()})`, true) .addField(message.translate("common:MODERATOR"), `\`${message.author.tag}\` (${message.author.toString()})`, true)
.addField(message.translate("common:REASON"), reason, true) .addField(message.translate("common:REASON"), reason, true)
.addField(message.translate("common:DURATION"), time, true) .addField(message.translate("common:DURATION"), time, true)
.addField(message.translate("common:EXPIRY"), message.printDate(new Date(Date.now() + ms(time))), true) .addField(message.translate("common:EXPIRY"), message.printDate(new Date(Date.now() + ms(time))), true)
.setColor("#f44271"); .setColor("#f44271");
channel.send(embed); channel.send({ embeds: [embed] });
} }
} }
}; };

View file

@ -25,7 +25,10 @@ class Poll extends Command {
let mention = ""; let mention = "";
const msg = await message.sendT("moderation/announcement:MENTION_PROMPT"); const msg = await message.sendT("moderation/announcement:MENTION_PROMPT");
const collector = new Discord.MessageCollector(message.channel, (m) => m.author.id === message.author.id, {
const filter = m => m.author.id === message.author.id;
const collector = new Discord.MessageCollector(message.channel, {
filter,
time: 240000 time: 240000
}); });
@ -40,7 +43,10 @@ class Poll extends Command {
tmsg.delete(); tmsg.delete();
msg.delete(); msg.delete();
const tmsg1 = await message.sendT("moderation/announcement:MENTION_TYPE_PROMPT"); const tmsg1 = await message.sendT("moderation/announcement:MENTION_TYPE_PROMPT");
const c = new Discord.MessageCollector(message.channel, (m) => m.author.id === message.author.id, {
const filter = m => m.author.id === message.author.id;
const c = new Discord.MessageCollector(message.channel, {
filter,
time: 60000 time: 60000
}); });
@ -77,14 +83,14 @@ class Poll extends Command {
]; ];
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.translate("moderation/poll:TITLE")) .setAuthor({ name: message.translate("moderation/poll:TITLE") })
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.addField(question, message.translate("moderation/poll:REACT", { .addField(question, message.translate("moderation/poll:REACT", {
success: emojis[0].toString(), success: emojis[0].toString(),
error: emojis[1].toString() error: emojis[1].toString()
})); }));
message.channel.send(mention, embed).then(async (m) => { message.channel.send({ content: mention, embeds: [embed] }).then(async (m) => {
await m.react(emojis[0]); await m.react(emojis[0]);
await m.react(emojis[1]); await m.react(emojis[1]);
}); });

View file

@ -27,25 +27,25 @@ class Sanctions extends Command {
}); });
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(user.tag, user.displayAvatarURL({ .setAuthor({ name: user.tag, iconURL: user.displayAvatarURL({
size: 512, size: 512,
dynamic: true, dynamic: true,
format: "png" format: "png"
})) })})
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(data.config.embed.footer); .setFooter({ text: data.config.embed.footer });
if (memberData.sanctions.length < 1) { if (memberData.sanctions.length < 1) {
embed.setDescription(message.translate("moderation/sanctions:NO_SANCTION", { embed.setDescription(message.translate("moderation/sanctions:NO_SANCTION", {
username: user.tag username: user.tag
})); }));
return message.channel.send(embed); return message.channel.send({ embeds: [embed] });
} else { } else {
memberData.sanctions.forEach((s) => { memberData.sanctions.forEach((s) => {
embed.addField(s.type + " | #" + s.case, `${message.translate("common:MODERATOR")}: <@${s.moderator}>\n${message.translate("common:REASON")}: ${s.reason}`, true); embed.addField(s.type + " | #" + s.case, `${message.translate("common:MODERATOR")}: <@${s.moderator}>\n${message.translate("common:REASON")}: ${s.reason}`, true);
}); });
}; };
message.channel.send(embed); message.channel.send({ embeds: [embed] });
} }
}; };

View file

@ -43,7 +43,7 @@ class Unban extends Command {
if (!user) return message.error("misc:NO_USER_FOUND_ID", { id: args[0] }); if (!user) return message.error("misc:NO_USER_FOUND_ID", { id: args[0] });
// check if the user is banned // check if the user is banned
const banned = await message.guild.fetchBans(); const banned = await message.guild.bans.fetch();
if (!banned.some((e) => e.user.id === user.id)) return message.success("moderation/unban:NOT_BANNED", { username: user.tag }); if (!banned.some((e) => e.user.id === user.id)) return message.success("moderation/unban:NOT_BANNED", { username: user.tag });
// Unban user // Unban user

View file

@ -22,7 +22,7 @@ class Unmute extends Command {
const memberPosition = member.roles.highest.position; const memberPosition = member.roles.highest.position;
const moderationPosition = message.member.roles.highest.position; const moderationPosition = message.member.roles.highest.position;
if (message.member.ownerID !== message.author.id && !(moderationPosition > memberPosition)) return message.error("moderation/ban:SUPERIOR"); if (message.member.ownerId !== message.author.id && !(moderationPosition > memberPosition)) return message.error("moderation/ban:SUPERIOR");
const memberData = await this.client.findOrCreateMember({ const memberData = await this.client.findOrCreateMember({
id: member.id, id: member.id,

View file

@ -31,7 +31,7 @@ class Warn extends Command {
const memberPosition = member.roles.highest.position; const memberPosition = member.roles.highest.position;
const moderationPosition = message.member.roles.highest.position; const moderationPosition = message.member.roles.highest.position;
if (message.member.ownerID !== message.author.id && !(moderationPosition > memberPosition)) return message.error("moderation/ban:SUPERIOR"); if (message.member.ownerId !== message.author.id && !(moderationPosition > memberPosition)) return message.error("moderation/ban:SUPERIOR");
const reason = args.slice(1).join(" "); const reason = args.slice(1).join(" ");
if (!reason) return message.error("moderation/warn:MISSING_REASON"); if (!reason) return message.error("moderation/warn:MISSING_REASON");
@ -67,9 +67,9 @@ class Warn extends Command {
reason reason
})); }));
caseInfo.type = "ban"; caseInfo.type = "ban";
embed.setAuthor(message.translate("moderation/ban:CASE", { embed.setAuthor({ name: message.translate("moderation/ban:CASE", {
count: data.guild.casesCount count: data.guild.casesCount
})) })})
.setColor("#e02316"); .setColor("#e02316");
message.guild.members.ban(member).catch(() => {}); message.guild.members.ban(member).catch(() => {});
message.success("moderation/setwarns:AUTO_BAN", { message.success("moderation/setwarns:AUTO_BAN", {
@ -88,9 +88,9 @@ class Warn extends Command {
reason reason
})); }));
caseInfo.type = "kick"; caseInfo.type = "kick";
embed.setAuthor(message.translate("moderation/kick:CASE", { embed.setAuthor({ name: message.translate("moderation/kick:CASE", {
count: data.guild.casesCount count: data.guild.casesCount
})) })})
.setColor("#e88709"); .setColor("#e88709");
member.kick().catch(() => {}); member.kick().catch(() => {});
message.success("moderation/setwarns:AUTO_KICK", { message.success("moderation/setwarns:AUTO_KICK", {
@ -107,9 +107,9 @@ class Warn extends Command {
reason reason
})); }));
caseInfo.type = "warn"; caseInfo.type = "warn";
embed.setAuthor(message.translate("moderation/warn:CASE", { embed.setAuthor({ name: message.translate("moderation/warn:CASE", {
caseNumber: data.guild.casesCount caseNumber: data.guild.casesCount
})) })})
.setColor("#8c14e2"); .setColor("#8c14e2");
message.success("moderation/warn:WARNED", { message.success("moderation/warn:WARNED", {
username: member.user.tag, username: member.user.tag,
@ -122,7 +122,7 @@ class Warn extends Command {
if (data.guild.plugins.modlogs) { if (data.guild.plugins.modlogs) {
const channel = message.guild.channels.cache.get(data.guild.plugins.modlogs); const channel = message.guild.channels.cache.get(data.guild.plugins.modlogs);
if (!channel) return; if (!channel) return;
channel.send(embed); channel.send({ embeds: [embed] });
}; };
} }
}; };

View file

@ -26,16 +26,16 @@ class Back extends Command {
if (!queue.previousSongs[0]) return message.error("music/back:NO_PREV_SONG"); if (!queue.previousSongs[0]) return message.error("music/back:NO_PREV_SONG");
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.translate("music/back:DESCRIPTION")) .setAuthor({ name: message.translate("music/back:DESCRIPTION") })
.setThumbnail(queue.tracks[0].thumbnail) .setThumbnail(queue.tracks[0].thumbnail)
.setFooter(data.config.embed.footer) .setColor(data.config.embed.color)
.setColor(data.config.embed.color); .setFooter({ text: data.config.embed.footer });
const m = await message.channel.send(embed); const m = await message.channel.send({ embeds: [embed] });
this.client.player.previous(message); this.client.player.previous(message);
embed.setDescription(message.translate("music/back:SUCCESS")); embed.setDescription(message.translate("music/back:SUCCESS"));
m.edit(embed); m.edit({ embeds: [embed] });
} }
}; };

View file

@ -32,9 +32,9 @@ class Clips extends Command {
.setTitle(message.translate("music/clips:EMBED_TITLE")) .setTitle(message.translate("music/clips:EMBED_TITLE"))
.setDescription(clips.join("\n")) .setDescription(clips.join("\n"))
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(data.config.embed.footer) .setFooter({ text: data.config.embed.footer })
.setTimestamp() .setTimestamp();
message.channel.send(embed); message.channel.send({ embeds: [embed] });
}); });
} }
}; };

View file

@ -39,7 +39,7 @@ class Filters extends Command {
.addField("** **", filtersStatuses[1].join("\n"), true) .addField("** **", filtersStatuses[1].join("\n"), true)
.setColor(data.config.embed.color); .setColor(data.config.embed.color);
message.channel.send(list); message.channel.send({ embeds: [list] });
} }
}; };

View file

@ -27,18 +27,18 @@ class Jump extends Command {
if (number < 0) return message.error("music/jump:NO_PREV_SONG", { prefix: data.guild.prefix }); if (number < 0) return message.error("music/jump:NO_PREV_SONG", { prefix: data.guild.prefix });
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.translate("music/jump:SUCCESS")) .setAuthor({ name: message.translate("music/jump:SUCCESS") })
.setThumbnail(queue.songs[number].thumbnail) .setThumbnail(queue.songs[number].thumbnail)
.setFooter(data.config.embed.footer) .setFooter({ text: data.config.embed.footer })
.setColor(data.config.embed.color); .setColor(data.config.embed.color);
const m = await message.channel.send(embed); const m = await message.channel.send({ embeds: [embed] });
this.client.player.jump(message, number); this.client.player.jump(message, number);
embed.setDescription(message.translate("music/play:NOW_PLAYING", { embed.setDescription(message.translate("music/play:NOW_PLAYING", {
songName: queue.songs[number].name songName: queue.songs[number].name
})); }));
m.edit(embed); m.edit({ embeds: [embed] });
} }
}; };

View file

@ -27,7 +27,7 @@ class Lyrics extends Command {
songName songName
})) }))
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(data.config.embed.footer); .setFooter({ text: data.config.embed.footer });
try { try {
const songNameFormated = songName const songNameFormated = songName
@ -46,7 +46,7 @@ class Lyrics extends Command {
}; };
embed.setDescription(lyrics); embed.setDescription(lyrics);
message.channel.send(embed); message.channel.send({ embeds: [embed] });
} catch (e) { } catch (e) {
console.log(e); console.log(e);

View file

@ -29,17 +29,17 @@ class Np extends Command {
// Generate discord embed to display song informations // Generate discord embed to display song informations
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.translate("music/queue:TITLE")) .setAuthor({ name: message.translate("music/queue:TITLE") })
.setThumbnail(track.thumbnail) .setThumbnail(track.thumbnail)
.addField(message.translate("music/np:T_TITLE"), `[${track.name}](${track.url})`) .addField(message.translate("music/np:T_TITLE"), `[${track.name}](${track.url})`)
.addField(message.translate("music/np:T_CHANNEL"), track.uploader.name ? track.uploader.name : "Отсутствует") .addField(message.translate("music/np:T_CHANNEL"), track.uploader.name ? track.uploader.name : "Отсутствует")
.addField(message.translate("music/np:T_DURATION"), `${queue.formattedCurrentTime} / ${track.formattedDuration}`) .addField(message.translate("music/np:T_DURATION"), `${queue.formattedCurrentTime} / ${track.formattedDuration}`)
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(data.config.embed.footer) .setFooter({ text: data.config.embed.footer })
.setTimestamp(); .setTimestamp();
// Send the embed in the current channel // Send the embed in the current channel
message.channel.send(embed); message.channel.send({ embeds: [embed] });
} }
}; };

View file

@ -1,4 +1,5 @@
const Command = require("../../base/Command.js"); const Command = require("../../base/Command.js"),
{ Permissions } = require("discord.js");
class Play extends Command { class Play extends Command {
constructor(client) { constructor(client) {
@ -25,7 +26,7 @@ class Play extends Command {
// Check my permissions // Check my permissions
const perms = voice.permissionsFor(this.client.user); const perms = voice.permissionsFor(this.client.user);
if (!perms.has("CONNECT") || !perms.has("SPEAK")) return message.error("music/play:VOICE_CHANNEL_CONNECT"); if (!perms.has(Permissions.FLAGS.CONNECT) || !perms.has(Permissions.FLAGS.SPEAK)) return message.error("music/play:VOICE_CHANNEL_CONNECT");
try { try {
this.client.player.play(message, args.join(" ")); this.client.player.play(message, args.join(" "));

View file

@ -27,21 +27,21 @@ class Queue extends Command {
if (queue.songs.length === 1) { if (queue.songs.length === 1) {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.translate("music/queue:TITLE"), message.guild.iconURL({ .setAuthor({ name: message.translate("music/queue:TITLE"), iconURL: message.guild.iconURL({
dynamic: true dynamic: true
})) })})
.addField(message.translate("music/np:CURRENTLY_PLAYING"), `[${queue.songs[0].name}](${queue.songs[0].url})\n*Добавил ${queue.songs[0].member}*\n`) .addField(message.translate("music/np:CURRENTLY_PLAYING"), `[${queue.songs[0].name}](${queue.songs[0].url})\n*Добавил ${queue.songs[0].member}*\n`)
.setColor(data.config.embed.color); .setColor(data.config.embed.color);
return message.channel.send(embed); return message.channel.send({ embeds: [embed] });
}; };
const FieldsEmbed = new Pagination.FieldsEmbed(); const FieldsEmbed = new Pagination.FieldsEmbed();
FieldsEmbed.embed FieldsEmbed.embed
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setAuthor(message.translate("music/queue:TITLE"), message.guild.iconURL({ .setAuthor({ name: message.translate("music/queue:TITLE"), iconURL: message.guild.iconURL({
dynamic: true dynamic: true
})) })})
.addField(message.translate("music/np:CURRENTLY_PLAYING"), `[${queue.songs[0].name}](${queue.songs[0].url})\n*Добавил ${queue.songs[0].member}*\n`); .addField(message.translate("music/np:CURRENTLY_PLAYING"), `[${queue.songs[0].name}](${queue.songs[0].url})\n*Добавил ${queue.songs[0].member}*\n`);
FieldsEmbed.setArray(queue.songs[1] ? queue.songs.slice(1, queue.songs.length) : []) FieldsEmbed.setArray(queue.songs[1] ? queue.songs.slice(1, queue.songs.length) : [])

View file

@ -26,18 +26,18 @@ class Skip extends Command {
if (!queue.songs[1]) return message.error("music/skip:NO_NEXT_SONG"); if (!queue.songs[1]) return message.error("music/skip:NO_NEXT_SONG");
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.translate("music/skip:SUCCESS")) .setAuthor({ name: message.translate("music/skip:SUCCESS") })
.setThumbnail(queue.songs[1].thumbnail) .setThumbnail(queue.songs[1].thumbnail)
.setFooter(data.config.embed.footer) .setFooter({ text: data.config.embed.footer })
.setColor(data.config.embed.color); .setColor(data.config.embed.color);
const m = await message.channel.send(embed); const m = await message.channel.send({ embeds: [embed] });
this.client.player.skip(message); this.client.player.skip(message);
embed.setDescription(message.translate("music/play:NOW_PLAYING", { embed.setDescription(message.translate("music/play:NOW_PLAYING", {
songName: queue.songs[1].name songName: queue.songs[1].name
})); }));
m.edit(embed); m.edit({ embeds: [embed] });
} }
}; };

View file

@ -25,15 +25,15 @@ class Stop extends Command {
if (!queue) return message.error("music/play:NOT_PLAYING"); if (!queue) return message.error("music/play:NOT_PLAYING");
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.translate("music/stop:DESCRIPTION")) .setAuthor({ name: message.translate("music/stop:DESCRIPTION") })
.setFooter(data.config.embed.footer) .setFooter({ text: data.config.embed.footer })
.setColor(data.config.embed.color); .setColor(data.config.embed.color);
const m = await message.channel.send(embed); const m = await message.channel.send({ embeds: [embed] });
this.client.player.stop(message); this.client.player.stop(message);
embed.setDescription(message.translate("music/stop:SUCCESS")); embed.setDescription(message.translate("music/stop:SUCCESS"));
m.edit(embed); m.edit({ embeds: [embed] });
} }
}; };

View file

@ -23,7 +23,7 @@ class Hentai extends Command {
var gif = null; var gif = null;
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(data.config.embed.footer) .setFooter({ text: data.config.embed.footer })
.setTimestamp() .setTimestamp()
switch (category) { switch (category) {
@ -95,7 +95,7 @@ class Hentai extends Command {
})) }))
break; break;
}; };
message.channel.send(embed); message.channel.send({ embeds: [embed] });
} }
}; };

View file

@ -16,13 +16,7 @@ class Eval extends Command {
}); });
} }
// eslint-disable-next-line no-unused-vars
async run(message, args, data) { async run(message, args, data) {
// eslint-disable-next-line no-unused-vars
const usersData = this.client.usersData;
// eslint-disable-next-line no-unused-vars
const guildsData = this.client.guildsData;
const content = message.content.split(" ").slice(1).join(" "); const content = message.content.split(" ").slice(1).join(" ");
const result = new Promise((resolve) => resolve(eval(content))); const result = new Promise((resolve) => resolve(eval(content)));
@ -31,16 +25,12 @@ class Eval extends Command {
depth: 0 depth: 0
}); });
if (output.includes(this.client.token)) output = output.replace(this.client.token, "T0K3N"); if (output.includes(this.client.token)) output = output.replace(this.client.token, "T0K3N");
message.channel.send(output, { message.channel.send({ content: "```js\n" + output + "```" });
code: "js"
});
}).catch((err) => { }).catch((err) => {
console.error(err); console.error(err);
err = err.toString(); err = err.toString();
if (err.includes(this.client.token)) err = err.replace(this.client.token, "T0K3N"); if (err.includes(this.client.token)) err = err.replace(this.client.token, "T0K3N");
message.channel.send(err, { message.channel.send({ content: "```js\n" + err + "```" });
code: "js"
});
}); });
} }
}; };

View file

@ -24,42 +24,42 @@ class Say extends Command {
args = args.join(" ").split(split); args = args.join(" ").split(split);
for (var i = 0; i < args.length; i++) args[i] = args[i].trim(); for (var i = 0; i < args.length; i++) args[i] = args[i].trim();
if (message.attachments.size > 0) var attachment = message.attachments.array()[0].url; if (message.attachments.size > 0) var attachment = message.attachments.first().url;
if (args[1] && !args[2]) { if (args[1] && !args[2]) {
message.delete(); message.delete();
const saychannel = message.guild.channels.cache.find(channel => channel.name == args[1] || channel.id == args[1]); const saychannel = message.guild.channels.cache.find(channel => channel.name == args[1] || channel.id == args[1]);
saychannel.startTyping(); saychannel.sendTyping();
setTimeout(function () { setTimeout(function () {
if (attachment) saychannel.send(args[0], { if (attachment) saychannel.send({
content: args[0],
files: [attachment] files: [attachment]
}); });
else saychannel.send(args[0]); else saychannel.send({ content: args[0] });
saychannel.stopTyping();
}, 2000); }, 2000);
} else if (args[2]) { } else if (args[2]) {
const saychannel = this.client.guilds.cache.find(guild => guild.name == args[2] || guild.id == args[2]).channels.cache.find(channel => channel.name == args[1] || channel.id == args[1]); const saychannel = this.client.guilds.cache.find(guild => guild.name == args[2] || guild.id == args[2]).channels.cache.find(channel => channel.name == args[1] || channel.id == args[1]);
saychannel.startTyping(); saychannel.sendTyping();
setTimeout(function () { setTimeout(function () {
if (attachment) saychannel.send(args[0], { if (attachment) saychannel.send({
content: args[0],
files: [attachment] files: [attachment]
}); });
else saychannel.send(args[0]); else saychannel.send({ content: args[0] });
saychannel.stopTyping();
}, 2000); }, 2000);
} else { } else {
message.delete(); message.delete();
const saychannel = message.channel; const saychannel = message.channel;
saychannel.startTyping(); saychannel.sendTyping();
setTimeout(function () { setTimeout(function () {
if (attachment) saychannel.send(args[0], { if (attachment) saychannel.send({
content: args[0],
files: [attachment] files: [attachment]
}); });
else saychannel.send(args[0]); else saychannel.send({ content: args[0] });
saychannel.stopTyping();
}, 2000); }, 2000);
}; };
} }

View file

@ -18,7 +18,7 @@ class ServersList extends Command {
} }
async run(message, args, data) { async run(message, args, data) {
if (!message.channel.type != "dm") message.delete(); if (!message.channel.type != "DM") message.delete();
let i0 = 0, let i0 = 0,
i1 = 10, i1 = 10,
@ -31,23 +31,26 @@ class ServersList extends Command {
.join("\n"); .join("\n");
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(message.author.tag, message.author.displayAvatarURL({ .setAuthor({ name: message.author.tag, iconURL: message.author.displayAvatarURL({
size: 512, size: 512,
dynamic: true, dynamic: true,
format: "png" format: "png"
})) })})
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter(this.client.user.username) .setFooter({ text: this.client.user.username })
.setTitle(`${message.translate("common:PAGE")}: ${page}/${Math.ceil(this.client.guilds.cache.size/10)}`) .setTitle(`${message.translate("common:PAGE")}: ${page}/${Math.ceil(this.client.guilds.cache.size/10)}`)
.setDescription(description); .setDescription(description);
const msg = await message.channel.send(embed); const msg = await message.channel.send({ embeds: [embed] });
await msg.react("⬅"); await msg.react("⬅");
await msg.react("➡"); await msg.react("➡");
await msg.react("❌"); await msg.react("❌");
const collector = msg.createReactionCollector((reaction, user) => user.id === message.author.id); const filter = (reaction, user) => user.id === message.author.id;
const collector = msg.createReactionCollector({ filter,
time: 30000
});
collector.on("collect", async (reaction) => { collector.on("collect", async (reaction) => {
if (reaction._emoji.name === "⬅") { if (reaction._emoji.name === "⬅") {
@ -71,7 +74,7 @@ class ServersList extends Command {
.setDescription(description); .setDescription(description);
// Edit the message // Edit the message
msg.edit(embed); msg.edit({ embeds: [embed] });
}; };
if (reaction._emoji.name === "➡") { if (reaction._emoji.name === "➡") {
@ -95,7 +98,7 @@ class ServersList extends Command {
.setDescription(description); .setDescription(description);
// Edit the message // Edit the message
msg.edit(embed); msg.edit({ embeds: [embed] });
}; };
if (reaction._emoji.name === "❌") return msg.delete(); if (reaction._emoji.name === "❌") return msg.delete();

View file

@ -81,10 +81,10 @@ router.get("/callback", async (req, res) => {
const logsChannel = req.client.channels.cache.get(req.client.config.dashboard.logs); const logsChannel = req.client.channels.cache.get(req.client.config.dashboard.logs);
if (!userDB.logged && logsChannel && user) { if (!userDB.logged && logsChannel && user) {
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setAuthor(user.username, user.displayAvatarURL()) .setAuthor({ name: user.username, iconURL: user.displayAvatarURL() })
.setColor(req.client.config.embed.color) .setColor(req.client.config.embed.color)
.setDescription(req.client.translate("dashboard:FIRST_LOGIN", { user: user.tag })); .setDescription(req.client.translate("dashboard:FIRST_LOGIN", { user: user.tag }));
logsChannel.send(embed); logsChannel.send({ embeds: [embed] });
userDB.logged = true; userDB.logged = true;
userDB.save(); userDB.save();
}; };

Some files were not shown because too many files have changed in this diff Show more