如何发送 cron 消息以发送到特定频道

Posted

技术标签:

【中文标题】如何发送 cron 消息以发送到特定频道【英文标题】:how to send cron message to send to specific channel 【发布时间】:2020-11-16 20:09:35 【问题描述】:

我对 javascript 还是很陌生,但我目前正在尝试制作 cron 消息,它确实有效,但现在我试图弄清楚如何将其发送到特定频道

这就是我目前所拥有的

var CronJob = require('cron').CronJob;
var job = new CronJob('1 * * * * *', function () 
    message.channel.send('You will see this message every second');
, null, true, 'America/Los_Angeles');
job.start(); 

我尝试了一些方法,但它要么不起作用,要么导致代码崩溃

【问题讨论】:

这能回答你的问题吗? Discord.js sending a message to a specific channel 它很好,只是一个测试 client.channels.cache.get('CHANNEL ID').send('Hello here!') 是最有可能的答案。请点击我发送的第一个链接阅读更多 【参考方案1】:

您可以通过按名称或 ID 查找频道来定义频道。

按 ID 查找:

client.channels.cache.find(c => c.id === "id");

按名称查找:

client.channels.cache.find(c => c.name === "name")

【讨论】:

【参考方案2】:

Marino 的回答在技术上是正确的,但不是推荐的。你应该这样做:

<client>.channels.cache.get("ID HERE")

<client>.channels.cache.find(c => c.name === "name")

最好使用.get 作为 ID。

此外,如果您每秒发送一条消息,您的机器人可能会受到速率限制。

【讨论】:

以上是关于如何发送 cron 消息以发送到特定频道的主要内容,如果未能解决你的问题,请参考以下文章

在 Discord 中使用 cron 在特定时间向特定频道发送消息

如何配置机器人删除发送到特定频道的消息,除非它以特定字符串开头?

定时消息发送到特定频道

如何使用不和谐机器人将消息发送到特定频道?

如何让机器人在收到来自某个消息的反应后将消息发送到特定频道

Discord.py - 如何接收和发送消息到特定频道?