【发布时间】:2021-01-13 18:44:44
【问题描述】:
我一直在尝试随机回复,但我发现的其他答案和教程并不完全有效。 大多数教程都有
const messages = [
"seriously?! You thought I would reply",
"hm, yeh thats a pretty random question - Don't ya think?",
"Ok I'm actually running out of options now",
"Please stop asking me",
"Ok, im done!",
"⛔"
];
const randomMessage = messages[Math.floor(Math.random() * messages.length)];
完成并发送消息
module.exports = {
name: 'random',
description: 'random?',
execute(message, args){
message.channel.send(randomMessage);
}
}
但是,答案并不是真正随机的。当我从命令提示符/终端运行机器人时,机器人会得到一个随机答案,但当用户实际运行它时,它只会给出一个答案。
例如,答案可以是 1、2 或 3。当我运行机器人时,会随机选择一个答案;假设2。那么无论所有用户说什么,它都只会给出2的答案作为回复。如果我再次运行机器人并得到,比如说 3,那么回复将只有 3。
【问题讨论】:
-
请提供更多上下文 - 错误消息是什么,或者什么也没发生?是否甚至调用了执行?在哪里调用执行?
-
你试过了吗?你的代码在哪里?你得到什么错误?
-
抱歉:/这是我的第一篇文章。正在发生的事情是答案并不是真正随机的。发生的情况是,当我从命令提示符/终端运行机器人时,机器人会得到一个随机答案,但是当用户实际运行它时,它只会给出一个答案。假设答案可以是 1、2 或 3。您运行机器人,然后随机选择一个答案;假设2。那么无论所有用户说什么,它只会给出2的答案作为回复。如果我再次运行机器人并得到,假设是 3。那么回复将只有 3。
-
randomMessage常量应该在执行函数内部,否则在机器人启动时只会执行一次。 -
嗨,欢迎来到 Stack Overflow!下次如果您需要添加有关您的问题的更多信息而不是评论,请edit您的帖子。
标签: javascript node.js discord.js