Javascript 如何获取嵌入并将其发布到其他频道

Javascript 如何获取嵌入并将其发布到其他频道,javascript,discord,discord.js,Javascript,Discord,Discord.js,我正在尝试为我的Discord机器人创建报告功能。当前,如果用户键入 %报告(用户名)(违反规则)(详细信息)。bot在员工聊天中创建一个挂起的报告作为嵌入。我希望工作人员能够使用命令通过其ID获取嵌入,并将其发送到另一个discord频道进行进一步审查。目前我想不出任何办法来达到这个目的,我想知道这里是否有人能给我指出正确的方向 我打算让命令像这样工作,%review(消息ID)。 这将获取员工聊天中当前的消息,并将其发送给更高的权限进行进一步审查 我的代码组织得不好,对此我深表歉意。我会尝试

我正在尝试为我的Discord机器人创建报告功能。当前,如果用户键入 %报告(用户名)(违反规则)(详细信息)。bot在员工聊天中创建一个挂起的报告作为嵌入。我希望工作人员能够使用命令通过其ID获取嵌入,并将其发送到另一个discord频道进行进一步审查。目前我想不出任何办法来达到这个目的,我想知道这里是否有人能给我指出正确的方向

我打算让命令像这样工作,%review(消息ID)。 这将获取员工聊天中当前的消息,并将其发送给更高的权限进行进一步审查

我的代码组织得不好,对此我深表歉意。我会尝试回答你可能有的任何问题,这样我就可以消除困惑

 bot.on("message", async message => {

if(message.author.bot) return;

if(!message.content.startsWith(config.prefix)) return;

const args = message.content.slice(config.prefix.length).trim().split(/ +/g);
const command = args.shift().toLowerCase();

if(command === 'report'){
        console.log((message.author.username)+ ' is trying to create a report');
            let username = args[0]
            let rule = args[1]
            let notes = args.splice(2).join(" ")
            const report = new discord.MessageEmbed()
            .setColor('#0099ff')
            .setTitle("Pending Report")
            .setFooter("UMA Report")
            .addField('username: ', username)
            .addField('Rule Broken: ', rule)
            .addField('Notes: ', notes)
            .addField('Report Set By: ', "<@" + message.author.id + ">")
            .setTimestamp()
            bot.channels.cache.get('53453453345').send({ embed: report })
            console.log((message.author.username)+ ' has created a report on: '+ username);
            
        
    }

}
bot.on(“消息”,异步消息=>{
if(message.author.bot)返回;
如果(!message.content.startsWith(config.prefix))返回;
const args=message.content.slice(config.prefix.length).trim().split(+/+/g);
const命令=args.shift().toLowerCase();
如果(命令=='report'){
log((message.author.username)+“正在尝试创建报告”);
让username=args[0]
let rule=args[1]
让notes=args.splice(2.join)(“”)
const report=new discord.MessageEmbed()
.setColor(“#0099ff”)
.setTitle(“待定报告”)
.setFooter(“UMA报告”)
.addField('用户名:',用户名)
.addField('规则已断开:',规则)
.addField('注释:',注释)
.addField('报告设置人:',“”)
.setTimestamp()文件
bot.channels.cache.get('53453453345').send({embed:report})
console.log((message.author.username)+已在以下位置创建报告:'+username);
}
}

这将从员工频道获取消息,并将其重新发送到另一频道

}否则如果(命令=='review'){
设ID=args[0];
const embedMessage=wait message.channel.messages.fetch(ID);
const embed=embedMessage.embeds[0];
(等待bot.channels.fetch(/*其他通道ID*/).send(embedMessage.content,{embed});
}
参考文献:


您好,感谢您的回复。您的解决方案成功地检索到了正常的邮件,效果非常好。不幸的是,每当bot尝试获取嵌入时,它都会返回一个控制台错误,指出邮件内容为空。我从中了解到,嵌入未在代码中获取。我仍然要感谢您然而,这为我指明了这个项目的正确方向。@TheTecno我已经修改了代码,希望它能与嵌入式系统一起工作。非常感谢!编辑工作非常出色。嵌入式系统拥有提供给它的所有数据,并被发送到指定的通道。再次感谢,我一直在努力解决这个问题出去一会儿。