node.js - discord.js 将参数数据存储在一个名为 + guild id 的文件中
问题描述
好吧,基本上,我使用文件系统来获取用户输入,使用输入的名称创建一个文件,并将其存储在特定文件夹中。但是,我无法获取 guild.id 并将其与用户创建的文件的名称相结合。
基本上,我想要它做的是当您运行createchar (name)
命令时,它会创建一个名称加上公会 ID 的文件,因此基本上createchar test
会导致创建一个名为 .txt 的文件testguildID
。这样命令可以在许多不同的服务器上运行。
这也适用于editchar
。
但是,当我运行该命令时,该命令不起作用,控制台中也没有出现错误。
这是代码:
client.on("message", message => {
if(message.author.bot) return;
const args = message.content.slice(config.prefix.length).trim().split(' ');
const command = args.shift().toLowerCase();
if(command === "createchar") {
fs.writeFile(`./characters/${args + guild.id}.txt`, 'utf8', function (err) {
if (err) throw err;
message.reply('Character created successfully.');
console.log('File created successfully.');
});
}
if(command === "editchar") {
fs.readFileSync(`./characters/${args[0] + guild.id}.txt`, 'utf8');
var data = new Uint8Array(Buffer.from(`${args}`));
fs.writeFile(`./characters/${args[0] + guild.id}.txt`, data, (err) => {
if (err) throw err;;
message.reply('Character information edited successfully');
console.log('File edited successfully');
})
}
if(command === "char") {
var char = fs.readFileSync(`./characters/${args[0]}.txt`, 'utf8');
var char3 = char.replace(`${args[0]}`, '');
message.channel.send(">>>" + char3.replace(/,/g, " "));
}
});
解决方案
你忘了添加message.
,guild.id
所以这就是问题:)
client.on("message", message => {
if(message.author.bot) return;
const args = message.content.slice(config.prefix.length).trim().split(' ');
const command = args.shift().toLowerCase();
if(command === "createchar") {
fs.writeFile(`./characters/${args + message.guild.id}.txt`, 'utf8', function (err) {
if (err) throw err;
message.reply('Character created successfully.');
console.log('File created successfully.');
});
}
if(command === "editchar") {
fs.readFileSync(`./characters/${args[0] + message.guild.id}.txt`, 'utf8');
var data = new Uint8Array(Buffer.from(`${args}`));
fs.writeFile(`./characters/${args[0] + message.guild.id}.txt`, data, (err) => {
if (err) throw err;;
message.reply('Character information edited successfully');
console.log('File edited successfully');
})
}
if(command === "char") {
var char = fs.readFileSync(`./characters/${args[0]}.txt`, 'utf8');
var char3 = char.replace(`${args[0]}`, '');
message.channel.send(">>>" + char3.replace(/,/g, " "));
}
});
推荐阅读
- javascript - jquery ajax事件没有触发
- javascript - 定义:“this.isStartDateSet”与“!this.isStartDateSet”
- bash - 修改 READLINE_LINE 以包含 ANSI 代码
- conda - Conda 依赖项解析错误无法理解
- ios - FooterView in Specific Expanded Sections Only?
- c# - 如何在不知道数据库总行数的情况下执行自定义分页
- node.js - 为什么即使我没有调用端点,相同的请求也会继续访问我的服务器
- ios - iOS Flutter with Firebase:启动时 FlutterAppDelegate 中的白屏和 SIGABRT
- c++ - 调用 delete[] 时某些东西导致堆损坏,但我正确设置了数组的维度
- google-maps - 如何绘制一些标记并使其彼此不同(颤动谷歌地图)