如何使不和谐机器人随机跳过响应

Posted

技术标签:

【中文标题】如何使不和谐机器人随机跳过响应【英文标题】:How to make discord bot randomly skip a response 【发布时间】:2021-08-07 08:05:25 【问题描述】:

这听起来可能很奇怪,但我想知道如何让不和谐机器人在有人说出机器人将响应的关键字之一时随机跳过响应?我在想将NULL 添加到数组中会起作用,但确实可以。添加skip() 似乎也不起作用。我只是不确定该怎么做。感谢您提前提供的所有帮助。

var array = ['test', 'test2']; 

const messages = ['what kind of test?', NULL]; 

client.on('message', function(message) 
    if (array.includes(message.content)) 
        setTimeout(function()message.channel.send(messages[Math.floor(Math.random() * messages.length)]);, 3000);
    
);

【问题讨论】:

javascript 不是 Java 【参考方案1】:

您可以做一些简单的事情,例如使用带有变量的 Math.random(),您可以根据所需的响应率进行调整。

Math.random 将返回一个介于 0 和小于 1 之间的伪随机数。当随机数大于您的响应率时,您可以使用 return 退出该函数。这不是保证指定的准确响应率的最精确方法,但对于这样的事情应该足够好。

const matches = ['test', 'test2'];
const messages = ['what kind of test?', 'Some other response']; 
const responseRate = 0.7;

client.on('message', function(message) 
    if (matches.includes(message.content)) 
         if(Math.random() > responseRate) return;
         setTimeout(function()message.channel.send(messages[Math.floor(Math.random() * messages.length)]);, 3000);
    
);

【讨论】:

啊,是的,这很好用。我可以用这个做很多事情。谢谢!!

以上是关于如何使不和谐机器人随机跳过响应的主要内容,如果未能解决你的问题,请参考以下文章

使用命令时如何使不和谐机器人更改脚本?

如何使不和谐机器人自动发送消息?

如何使不和谐机器人将消息发送到不和谐 Node js 的特定频道机器人

如何使不和谐的机器人排队本地 mp3?

使不和谐机器人发送消息特定通道

我需要帮助使不和谐卷曲