【问题标题】:How to make bot respond to messages randomly如何让机器人随机响应消息
【发布时间】:2021-07-19 07:00:15
【问题描述】:

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

  1. 我如何使其能够随机响应某个用户的消息?
  2. 我必须把这段代码放在哪里,因为它不是命令?
var MessageArray = [
"message 1",
"message 2",
"message 3"
]
var random = Math.floor(Math.random() * MessageArray.length);
        try {
          //code to randomly reply to messages sent by a certain user.
        } catch (err) {
          console.log(err);
        }

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

【问题讨论】:

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


    【解决方案1】:

    使用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);
    }
    

    【讨论】:

      【解决方案2】:

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

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

      let rndMessage = MessageArray[random];
      

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

      message.reply(rndMessage);
      

      message.channel.send(rndMessage);
      

      请注意,在 discord.js 中,这些调用是异步的/基于 Promise 的 - 因此,除非您解决 Promise,否则您的 try-catch 语句不会做任何事情。

      【讨论】:

        猜你喜欢
        • 2019-11-23
        • 2018-10-17
        • 2022-01-03
        • 1970-01-01
        • 2017-08-28
        • 2021-11-28
        • 2019-06-08
        • 2021-08-19
        • 2020-11-26
        相关资源
        最近更新 更多