我编写的代码使bot删除消息不是 url图像也不是文件,而且我不知道它是如何工作的,这是我尝试过的但不起作用。
let myMessage = message.content.split(' ').slice(1).join(' ');
if(!myMessage.startsWith('https://') && !myMessage.endsWith('png' || 'jpeg' || 'jpg')){
message.channel.send(`This is not a picture (**${myMessage}**)`)
.then(m => m.delete(10000));
message.delete();
return;
}
client.user.setAvatar(`${myMessage}`);
答案 0 :(得分:2)
发帖,以防其他人遇到像我这样的人:
我认为其他答案不适用于多种文件类型或协议,因此这是一个有效的正则表达式解决方案。
//if the message was a url that ends in png, jpg or jpeg
if (/^(http|https):\/\/.*\.(png|jpg|jpeg)$/i.test(message.content)) {
//do the thing
client.user.setAvatar(message.content);
}
答案 1 :(得分:0)
这适用于网址。
if(!myMessage.startsWith('https://')){
message.channel.send(`This is not a picture (**${myMessage}**)`)
return;
}else if(!myMessage.endsWith('png' && 'jpg')){
message.channel.send(`This is not a picture (**${myMessage}**)`)
return;
}else{
bot.user.setAvatar(`${myMessage}`);
message.channel.send(`Avatar Changed!! **${message.author.username}**`)
}