如何使不和谐的 js 机器人在某个时间在不和谐的确切文本通道中发送随机消息(我制作一个列表并发送它)

Posted

技术标签:

【中文标题】如何使不和谐的 js 机器人在某个时间在不和谐的确切文本通道中发送随机消息(我制作一个列表并发送它)【英文标题】:How to make an discord js bot to send an random message(i make an list and he sends it) at some time in an exact text channel from discord 【发布时间】:2021-08-28 13:37:32 【问题描述】:

这就是命令的工作方式

这是我的 main.js

请帮忙?我真的需要它,如果你能帮助我,我会非常感激

【问题讨论】:

【参考方案1】:

首先,您需要找到频道 ID。最好进入 Discord 应用程序并右键单击频道并选择“复制 ID”。它应该看起来像这样:845346073543326453

现在要向特定频道发送内容,您必须这样做:

const channel = client.channels.cache.get(845346073543326453);
channel.send("hello!")

对于随机消息,您只需创建一个数组并随机选择一个:

const random = (min, max) => 
  return Math.floor(Math.random() * (max - min + 1) + min);

let randomMsg = [`Howdy`, `Howdily doodily`, `Zoinks`]
channel.send(quotes[random(0, quotes.length - 1)])

在特定时间发送它有很多方法。我建议使用cron 包并参考这篇文章:How can I send a message every day at a specific hour?

但是,如果您只是想要一种快速且非常省力的方式,您可以使用 setInterval() 并将延迟设置为一个小时。所以我们最终得到了这样的结果:

const channel = client.channels.cache.get(845346073543326453);
const randomMsg = [`Howdy`, `Howdily doodily`, `Zoinks`]
const random = (min, max) => 
  return Math.floor(Math.random() * (max - min + 1) + min);


const sendRandomMsg = () => 
  var d = new Date();
  var n = d.getHours();
  if (n === 12) 
    channel.send(randomMsg[random(0, quotes.length - 1)])
  


setInterval(function() sendRandomMsg() , 3600000);

您可以在 if 中添加更多函数,以防在特定时间运行更多函数。

【讨论】:

也许你可以帮助我 看起来我只是不小心给带有随机消息的数组指定了错误的名称。我会私信你 『? Tobi 『?』#4269 不和谐 无法使用该名称添加您 更改了我的名字,现在添加我,TobiLOL#6969

以上是关于如何使不和谐的 js 机器人在某个时间在不和谐的确切文本通道中发送随机消息(我制作一个列表并发送它)的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

如何在不和谐 js 中使用消息获取?