我在使用 discord.js 票证副本命令时遇到了问题。当我使用脚本命令时,会创建一个 .txt 文件并将其发送到通道中,这很好用。问题是文件被保存在本地,这不是我想要的。
创建txt+发送代码:
fs.writeFileSync(`${message.channel.name}.txt`, content.join('\n'), err => { if (err) throw err });
doneEmbed(message, lang.ticket.transcript.replace('{name}', `${message.channel.name}.txt`));
return message.channel.send(new MessageAttachment(`${message.channel.name}.txt`, `${message.channel.name}.txt`));
doneEmbed
只是一个预先创建的嵌入,使代码更清晰,以防您感到困惑:
//Emoji file
const e = require('../../data/config/emojis.json');
//Embed
module.exports.doneEmbed = function doneEmbed(message, desc) {
let embed = new MessageEmbed()
.setDescription(e.done + desc)
.setColor(c.done)
message.channel.send(embed);
}
文件结构,记录保存的地方(? | exstare.txt & ? | test.txt):
提前致谢!
答案 0 :(得分:1)
您的应用程序需要先保存文件,然后再将其作为附件发送。这就是为什么需要保存文件。
但是这个问题有一个简单的解决方案。如果您不希望该文件永远存储在您的项目文件夹中,只需在您将文件作为附件与 Discord bot 一起发送之后删除该文件。在此网站上查看一些如何使用 FileSystem 删除文件的示例:https://www.tutorialkart.com/nodejs/delete-a-file-in-nodejs-using-node-fs