我可以做1个以上的ID吗?

我已经为此工作了几天,同时解决了我的项目中出现的一些其他问题。下面是我用来用不同命令响应某些用户的代码。有没有办法可以创建一个具有不一致用户 ID 的文件,然后让命令文件读取它?

if (message.author.id === "ID_HERE") {
}

我似乎无法弄清楚如何将其放入另一个文件中并仍然读取 ID


慕尼黑5688855
浏览 121回答 2
2回答

互换的青春

您可以使用数组,而不是使用文件 I/O,如下所示:var array = ["1", "2", "3"]if (array.includes(message.author.id)) {  // Do something}您甚至可以通过编程方式操作数组以轻松删除或添加内容。更长的方法是:if (message.author.id === "1" || message.author.id === "2" || message.author.id === "2") {  // Do something}如果您必须使用文件来执行此操作,请首先使用 导入fs模块const fs = require("fs");,然后读取file.txt(或存储 ID 的任何位置),用分隔符(如\n)分隔它,然后使用该数组。const fs = require("fs");// ...var array;fs.readFileSync("file.txt", function(data, err) { // Remember to replace "file.txt" with the name of the file  if (err) throw err;  array = data.split("\n"); // If IDs in file are separated with the newline character, \n})if (array.includes(message.author.id)) {  // Do something}

慕工程0101907

您可以做的是创建一个 .txt 文件,并粘贴以换行符分隔的每个用户 ID。像这样的内容:useriduserid2userid3(其中 userid 是一长串数字)以下是读取该 .txt 文件并在 if 语句中使用它的代码。const fs = require('fs');  var userids = fs.readFileSync('nameoffile.txt').toString().replace(/\r\n/g,'\n').split('\n');client.on("message", async message => {if (userids.includes(message.author.id)) {// do stuff}})其作用是读取 .txt 文件,将其设置为用户 ID 值的数组,并检查 message.author 是否是该数组的一部分。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript