diff --git a/cmds/utility/cloneembed.js b/cmds/utility/cloneembed.js new file mode 100644 index 0000000..bd7dfe0 --- /dev/null +++ b/cmds/utility/cloneembed.js @@ -0,0 +1,42 @@ +'use strict'; + +const commando = require("@iceprod/discord.js-commando"); +const { MessageEmbed } = require("discord.js"); +const { getChannelMessage, errLog, ranLog, trySend, tryReact } = require("../../resources/functions"); + +module.exports = class cloneembed extends commando.Command { + constructor(client) { + super(client, { + name: "clone-embed", + aliases: ["clone-emb","clon-emb", "clon-embed"], + memberName: "clonemb", + group: "utility", + description: "Clone an Embed." + }); + } + async run(msg, cargs) { + const args = cargs.trim().split(/ +/); + try { + const theMes = await getChannelMessage(this.client,msg,args[0],args[1]); + let content; + if (theMes.content) { + content = theMes.content; + } + if (!theMes.embeds || (theMes.embeds).length === 0) { + return trySend(this.client, msg, 'ypu don\'t know what an embed is? <:cathmmLife:772716381874946068>'); + } + if (!args[0]) { + return trySend(this.client, msg, 'Which message??'); + } + trySend(this.client, msg, {content:content,embed:theMes.embeds[0]}); + const moreEmb = theMes.embeds.slice(1); + for(const emb of moreEmb) { + trySend(this.client, msg, new MessageEmbed(emb)); + } + tryReact(msg, "a:yesLife:794788847996370945"); + return ranLog(msg,'clonemb',`Embed ${theMes.url} (${theMes.id}) in ${theMes.channel.name} (${theMes.channel.id}) of ${theMes.guild.name} cloned.`); + } catch (e) { + return trySend(this.client, msg, "No embed found. Use ` ` if it's in another channel."); + } + } +}; \ No newline at end of file