如何在一天中的不同时间设置机器人的状态?

Posted

技术标签:

【中文标题】如何在一天中的不同时间设置机器人的状态?【英文标题】:How to set bot's status at different times of the day? 【发布时间】:2019-01-05 19:31:05 【问题描述】:

我有一个不和谐的机器人,我正在尝试每小时更改一次状态以带来一些多样性。但是我对javascript日期不太熟悉,有什么帮助吗? 这是我的代码:

var quotes = ["to my fire mix | >commands", "to youtube videos | >commands"]
if(it is this time of day)
var rand = quotes[Math.floor(Math.random() * quotes.length)];
client.user.setActivity(rand, type: 'LISTENING')

【问题讨论】:

【参考方案1】:

更新: 我最终选择了增量计时器。

function refreshStatus()
  var quotes = ["my fire mix | >commands", "youtube videos | >commands", "the loneley sound of nothing | >commands", "audiomemes memes | >commands", "danno | >commands"]
x = 5
x=x*60
rand = quotes[Math.floor(quotes.length * Math.random())]
if(rand)
client.user.setActivity(rand, type: 'LISTENING');

setTimeout(refreshStatus, x*1000)

【讨论】:

【参考方案2】:

您可以只检查当前时间是奇数还是偶数:

client.user.setActivity(
  quotes[(new Date).getHours() % 2], 
  type: 'LISTENING'
)

或者如果你只是想每小时随机改变,使用 setInterval:

setInterval(() => 
  client.user.setActivity(
     quotes[Math.floor(quotes.length * Math.random())], 
      type: 'LISTENING'
  );
, 1000 * 60 * 60);

【讨论】:

你给的代码不行,我也把Math floor改成了Math.floor @danGamingTV“没用”很宽泛,你把这段代码放在哪里了?

以上是关于如何在一天中的不同时间设置机器人的状态?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 seaborn 直方图以在一天中的几个小时内工作?

如何仅在一天中的特定时间运行 Python 脚本?

Firebase函数在一天中的特定时间重置值[重复]

在一天中的特定时间安排本地通知

Cloud Functions for Firebase - 在一天中的特定时间更新值,每天 [重复]

设定某个时间段进行某项任务