Discord.js如何在聊天中仅发送图片/照片网址

时间:2019-07-31 03:55:05

标签: javascript discord.js

我编写的代码使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}`);

2 个答案:

答案 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}**`)
}