在discord.js中,文件的发送缓冲区是什么?

4

我知道你可以通过文件名发送邮件,但是因为我正在使用Heroku,所以无法访问文件系统。

client.sendFile(messagedata, writer.toBuffer(), "file.png", "Just a message");

问题在于:
TypeError: client.sendFile is not a function

在discord.js中,哪个等效的函数可以让我将缓冲区作为文件发送?
2个回答

7

我知道这个方法有点老了,但下面这个例子可以在不使用文件系统的情况下,在频道中发送文件。

const { MessageAttachment } = require('discord.js')

const buffer = Buffer.from('Text in file')
const attachment = new MessageAttachment(buffer, 'file.txt')
channel.send(attachment)


1

.sendFile() 已被弃用。现在只能使用 .send()

要将文件发送给用户,您可以执行以下操作:

message.author.send({
  files: [{
    attachment: 'entire/path/to/file.jpg',
    name: 'file.jpg'
  }]
})
.then(console.log)
.catch(console.error);

将文件发送到消息通道,可以执行以下操作:

message.channel.send({
  files: [{
    attachment: 'entire/path/to/file.jpg',
    name: 'file.jpg'
  }]
})
.then(console.log)
.catch(console.error);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接