discord.js:我如何从 json 文件中获取随机项?

Posted

技术标签:

【中文标题】discord.js:我如何从 json 文件中获取随机项?【英文标题】:discord.js : how do I pick up a random item from a json file? 【发布时间】:2020-08-30 17:57:43 【问题描述】:

我正在编写一个不和谐的机器人。我希望它在 json 文件中从列表中获取随机项。那是我的 json 文件:


    "emailPass": ["email1:pass1", "email2:pass2"],
    "capture": "capture1"

现在我希望它向作者发送一条私人消息,其中包含随机选择的“capture”项目和“emailPass”项目之一。这就是我的 js 代码:

message.author.send(Math.floor(jsonFile.emailPass.lenght*Math.random()) + "\n" + jsonFile.capture);

机器人发送消息,但不是“emailPass”项,而是显示“NaN”。 有人知道如何解决吗?我认为错误来自随机命令,但我不知道确切原因...

【问题讨论】:

【参考方案1】:

使用 Math.floor(jsonFile["emailPass"].length * Math.random())。 但这只会输出一个介于 0 和 emailPass 数组中的值数之间的随机数 - 1。如果你想从那里返回一个随机元素,请使用它:

message.author.send(jsonFile.emailPass[Math.floor(jsonFile["emailPass"].length * Math.random())] + "\n" + jsonFile.capture);

【讨论】:

很高兴听到它^^

以上是关于discord.js:我如何从 json 文件中获取随机项?的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js Node.js |无法从“导出”的 JS 文件访问 JSON 文件

Discord.js 基于 var 从 json 文件中获取数据

discord.js 12 任何方式将数据从 json 文件发送到通道?

我如何让我的机器人在 .JSON 文件 discord.js 中写入多行 [重复]

如何使用 Discord.js 显示 .JSON 文件的内容?

discord.js:随机化存储为 json 文件的数组内容