随机消息发送未按预期工作 discord.js
Posted
技术标签:
【中文标题】随机消息发送未按预期工作 discord.js【英文标题】:Random message send not working as expected discord.js 【发布时间】:2021-02-03 02:19:16 【问题描述】:我正在尝试让我的不和谐机器人从 json 文件中随机选择消息,并每 5*1000 秒发送一次,消息间隔早些时候工作正常。但它每次都发送相同的消息。 我哪里出错了?
这里是 app.js
const Discord = require('discord.js');
const factDB = require("./replies.json");
const PREFIX = '!';
const client = new Discord.Client();
const fetch = require("node-fetch");
client.once('ready',() =>
console.log('online!');
);
client.on('message', msg =>
if (msg.content === '?finit')
const REP = require("./replies.json");
const item = REP[Math.floor(Math.random() * REP.length)];
setInterval(() =>
msg.channel.send(item.facts);
, 5 * 1000);
);
client.login('token')
这是json文件
[
"facts": "1"
,
"facts": "2"
,
"facts": "3"
,
"facts": "4"
,
"facts": "5"
]
感谢您的阅读。
【问题讨论】:
提供多一点的内容来测试它。比如带有时间间隔的不和谐消息的屏幕截图等。你的时间可能有太大的差距。 谢谢 thomas,但感谢 Jayke,它现在可以工作了 【参考方案1】:您的随机响应仅在命令执行时生成一次。
您需要在setInterval
函数中移动以下行:
const item = REP[Math.floor(Math.random() * REP.length)];
setInterval(() =>
const item = REP[Math.floor(Math.random() * REP.length)];
msg.channel.send(item.facts);
, 5 * 1000);
这将每5 * 1000
ms 随机选择一个响应。
【讨论】:
以上是关于随机消息发送未按预期工作 discord.js的主要内容,如果未能解决你的问题,请参考以下文章
从 .Net 应用程序到 AWS API Gateway 的 HTTP POST 请求未按预期工作