Javascript discord.js仅删除用户消息和bot

Javascript discord.js仅删除用户消息和bot,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我想让我的机器人只删除某个频道中用户的消息,而不是机器人的消息。我试着用下面的代码来做,但它一直在删除机器人的消息和我的消息 const Discord=require(“Discord.js”); const client=new Discord.client(); const{MessageEmbed}=require(“discord.js”); 常量avalibleFormats=['png','gif','jpeg','jpg'] client.on(“ready”,()=>{ log

我想让我的机器人只删除某个频道中用户的消息,而不是机器人的消息。我试着用下面的代码来做,但它一直在删除机器人的消息和我的消息

const Discord=require(“Discord.js”);
const client=new Discord.client();
const{MessageEmbed}=require(“discord.js”);
常量avalibleFormats=['png','gif','jpeg','jpg']
client.on(“ready”,()=>{
log(“我准备好了!”);
});
client.on(“message”,message=>{
如果(message.channel.id=='829616433985486848'){
message.delete();
}
如果(message.channel.id!=“829616433985486848”){
返回;
}
让image=getImage(消息)
如果(!图像){
返回;
}
let embed=new MessageEmbed();
embed.setImage(image.url)
embed.setColor(`2f3136`)
message.channel.send(嵌入)
});
const getImage=(message)=>message.attachments.find(attachment=>checkFormat(attachment.url))
const checkFormat=(url)=>availableformats.some(format=>url.endsWith(format))
client.login(令牌);

好吧,您只会说如果频道id是
829616433985486848
,请删除该消息。您还应该使用
message.author.bot
属性检查

const availableformats=['png','gif','jpeg','jpg'];
const checkFormat=(url)=>availableformats.some((format)=>url.endsWith(format));
const getImage=(message)=>message.attachments.find((attachment)=>checkFormat(attachment.url));
client.on('消息',(消息)=>{
const certainChannelId='829616433985486848';
//如果通道不是829616433985486848,则返回退出
if(message.channel.id!==certainChannelId)
返回;
//其余代码仅在通道为829616433985486848时运行
const image=getImage(消息);
//如果作者不是机器人,请删除邮件
如果(!message.author.bot)
message.delete();
如果(!图像)
返回;
const embed=new MessageEmbed()
.setImage(image.url)
.setColor('2f3136');
message.channel.send(嵌入);
});
实际上,如果消息是由bot发布的,您甚至不需要在其中运行任何东西,这样您就可以在开始时检查并提前退出:

client.on('message',(message)=>{
如果(message.author.bot | | message.channel.id!=='829616433985486848')
返回;
const image=getImage(消息);
如果(图像){
const embed=new MessageEmbed()
.setImage(image.url)
.setColor('2f3136');
message.channel.send(嵌入);
}
message.delete();
});
如果希望它在多个通道中工作,可以创建通道ID数组,并使用检查当前通道ID是否在该数组中:

client.on('message',(message)=>{
const channelIDs=['829616433985486848','829616433985480120','829616433985485571'];
if(message.author.bot | | |!channelIDs.includes(message.channel.id))
返回;
const image=getImage(消息);
如果(图像){
const embed=new MessageEmbed()
.setImage(image.url)
.setColor('2f3136');
message.channel.send(嵌入);
}
message.delete();
});

当然,我刚刚更新了我的答案。你更新的代码看起来怎么样?我不确定你为什么要添加它,但如果(message.channel.id!==channelid)返回,你需要删除
。这永远都是假的。。。我再次更新了我的答案,以包括整个
客户端.on('message')
处理多个通道的部分。让我们来看看。