在特定时间内向某些频道发送消息

时间:2018-06-10 19:06:00

标签: javascript node.js discord.js

这是我到目前为止所尝试过的。

bot.on('ready', () => {
    const moment = require('moment');
    const CronJob = require('cron').CronJob;

    var job = new CronJob({
        // cronTime: '00 03 00 * * 1-7', // 00:03:00
        cronTime: '* * * * *', //every minute
        onTick: function() {
            console.log(moment.tz('Europe/London').format('HH:mm:ss'))
            createShop()
        },
        start: false,
        timeZone: 'Europe/London'
    });
    job.start();

    function sss() {
        const embed = new Discord.RichEmbed()
        .setColor(0x8644ba)
        .setDescription('test')
        bot.channels.find('topic', 'test').send(embed)
    }
});

但是机器人只在一个公会中发送消息,即使我有3个公会与频道有什么'测试'主题

1 个答案:

答案 0 :(得分:0)

您只能获得一个频道,因为Collection.find()仅返回第一个频道。要全部使用,请使用Collection.findAll()

以下是一个例子:

function sss() {
  const embed = new Discord.RichEmbed()
    .setColor(0x8644ba)
    .setDescription('test');
  let results = bot.channels.findAll('topic', 'test'); //returns an array
  for (let channel of results) channel.send(embed);
}