为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕尼黑5688855 2023-06-29 22:42:16
我已经为此工作了几天,同时解决了我的项目中出现的一些其他问题。下面是我用来用不同命令响应某些用户的代码。有没有办法可以创建一个具有不一致用户 ID 的文件,然后让命令文件读取它?if (message.author.id === "ID_HERE") { }我似乎无法弄清楚如何将其放入另一个文件中并仍然读取 ID
查看完整描述

2 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

您可以使用数组,而不是使用文件 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

}


查看完整回答
反对 回复 2023-06-29
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

您可以做的是创建一个 .txt 文件,并粘贴以换行符分隔的每个用户 ID。像这样的内容:

userid

userid2

userid3

(其中 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 是否是该数组的一部分。


查看完整回答
反对 回复 2023-06-29
  • 2 回答
  • 0 关注
  • 120 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信