[请求资源类型]:资源必须是字符串、缓冲区或有效的文件流

2024-10-03 19:28:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在图片中做一些灰度效果,但当我做命令时,它会显示上面的错误

有办法吗

代码:

const jimp = require('jimp')
const {MessageAttachment} = require('discord.js')
module.exports = {
    name:'grey',
    run:async(client, message, args)=>{
        if (message.attachments.size > 0) {
            let image = message.attachments.first().url; 
            if(!image) return;
            let readedImage = await jimp.read(image);
            let sendedImage = await readedImage.greyscale()
            let attch = new MessageAttachment(sendedImage,'Skyy.png');
            message.channel.send(attch);
          }
        

    }
}

Tags: imagemessageif图片requireawaitattachments灰度
1条回答
网友
1楼 · 发布于 2024-10-03 19:28:30

在发送jimp图像之前,必须将其转换为缓冲区:

const jimp = require('jimp')
const {MessageAttachment} = require('discord.js')
module.exports = {
    name:'grey',
    run:async(client, message, args)=>{
        if (message.attachments.size > 0) {
            let image = message.attachments.first().url; 
            if(!image) return;
            let readedImage = await jimp.read(image);
            // changed line below
            let sendedImage = await readedImage.greyscale().getBufferAsync();
            let attch = new MessageAttachment(sendedImage,'Skyy.png');
            message.channel.send(attch);
          }
        

    }
}

相关问题 更多 >