如何让机器人随机响应消息

时间:2021-04-25 19:44:33

标签: javascript node.js discord discord.js bots

所以我想让我的机器人每隔一段时间随机响应某些用户发送的消息,我尝试在线搜索以找到一种方法来做到这一点,但我能找到的只是如何在一个范围内发送随机消息运行命令时的数组,但这不是我想要的,因为我对编码相当陌生,我不知道如何做到这一点。总之,我的问题是;

  1. 如何让它随机响应来自某个用户的消息?
  2. 因为它不是命令,所以我应该把它放在哪里?
if (array[j] > array[largest]) {
    largest = j;
}

我不知道此代码是否可以正确用于我想要的机器人。

2 个答案:

答案 0 :(得分:0)

使用random作为MessageArray的随机选择索引

var MessageArray = [
   "message 1",
   "message 2",
   "message 3"
];
var random = Math.floor(Math.random() * MessageArray.length);
try {
   message.channel.send(MessageArray[random]);
} catch (err) {
   console.log(err);
}

答案 1 :(得分:0)

你现在有什么? a) 您的机器人可以发送的所有可能消息的数组 b) 范围为 [0, |MessageArray| 的随机整数- 1]

首先,让我们使用您的随机数作为索引来获取随机消息

let rndMessage = MessageArray[random];

然后,使用您随机选择的消息,使用任一方法将其发送到频道

message.reply(rndMessage);

message.channel.send(rndMessage);

请注意,对于 discord.js,这些调用是异步/基于承诺的 - 因此除非您解决承诺,否则您的 try-catch 语句将不会执行任何操作。