JaBa/commands/General/quote.js

87 lines
2.2 KiB
JavaScript
Raw Normal View History

2021-12-10 21:39:54 +05:00
const Command = require("../../base/Command.js"),
Discord = require("discord.js");
class Quote extends Command {
2021-12-26 19:29:37 +05:00
constructor(client) {
2021-12-10 21:39:54 +05:00
super(client, {
name: "quote",
dirname: __dirname,
enabled: true,
guildOnly: true,
2021-12-26 19:29:37 +05:00
aliases: ["quoter"],
2021-12-10 21:39:54 +05:00
memberPermissions: [],
2021-12-26 19:29:37 +05:00
botPermissions: ["SEND_MESSAGES", "EMBED_LINKS"],
2021-12-10 21:39:54 +05:00
nsfw: false,
ownerOnly: false,
cooldown: 2000
2021-12-10 21:39:54 +05:00
});
}
2021-12-26 19:29:37 +05:00
async run(message, args, data) {
2021-12-11 21:08:37 +05:00
function embed(m) {
2021-12-10 21:39:54 +05:00
const embed = new Discord.MessageEmbed()
2021-12-26 19:29:37 +05:00
.setAuthor(m.author.tag, m.author.displayAvatarURL({
size: 512,
dynamic: true,
format: "png"
}))
2021-12-10 21:39:54 +05:00
.setDescription(m.content)
.setColor(m.member ? m.member.roles.highest ? m.member.roles.highest.color : data.config.embed.color : data.config.embed.color)
2021-12-24 20:52:27 +05:00
.setFooter(m.guild.name + " | #" + m.channel.name)
2021-12-10 21:39:54 +05:00
.setTimestamp(m.createdTimestamp);
if (m.attachments.size > 0) embed.setImage(m.attachments.first().url);
return embed;
};
const msgID = args[0];
if (isNaN(msgID)) {
message.author.send(message.translate("general/quote:MISSING_ID")).then(() => {
message.delete();
}).catch(() => {
message.error("misc:CANNOT_DM");
});
return;
};
let channel = message.mentions.channels.first();
if (args[1] && !channel) {
channel = this.client.channels.cache.get(args[1]);
if (!channel) {
message.author.send(message.translate("general/quote:NO_MESSAGE_ID")).then(() => {
message.delete();
2021-12-26 19:29:37 +05:00
}).catch(() => {
message.error("misc:CANNOT_DM")
});
2021-12-10 21:39:54 +05:00
return;
};
};
if (!channel) {
message.channel.messages.fetch(msgID).catch(() => {
message.author.send((message.translate("general/quote:NO_MESSAGE_ID"))).then(() => {
message.delete();
2021-12-26 19:29:37 +05:00
}).catch(() => {
message.error("misc:CANNOT_DM")
});
2021-12-10 21:39:54 +05:00
return;
}).then((msg) => {
message.delete();
message.channel.send(embed(msg));
});
} else {
channel.messages.fetch(msgID).catch(() => {
message.author.send(message.translate("general/quote:NO_MESSAGE_ID")).then(() => {
message.delete();
2021-12-26 19:29:37 +05:00
}).catch(() => {
message.error("misc:CANNOT_DM")
});
2021-12-10 21:39:54 +05:00
return;
}).then((msg) => {
message.delete();
message.channel.send(embed(msg));
});
};
}
};
module.exports = Quote;