如何每天在 discord.js 的特定时间从数组发送随机消息?

How can I send a random message everyday from an array at a specific hour on discord.js?

我正在尝试制作一个机器人,它将使用 cron 从数组发送随机消息。

这是我的代码:

const cron = require('cron');

module.exports = {
    name: 'pesanrandom',
    description: "random message every day",
    execute(message, args, cmd, client, Discord){
      let scheduledMessage = new cron.CronJob('00 54 16 * * *', () => {
        //
        var listPesan = [
          'Met siang guys, dah pada mam siang blum?',
          'Siapa yang tadi pagi mimpiin cowo atau cewe kpopnya',
          'Siang-siang enaknya...',
          'Dor kaget ga',
          'Laper dah',
        ];

        var pesanRandom = listPesan[Math.floor(Math.random() * listPesan.length)];

        const pesanEmbed = new Discord.MessageEmbed()
              .setColor('#50C878')
              .setTitle('vermillion#3039')
              .setDescription(pesanRandom)
              .setFooter('© Vermillion')

        client.channels.cache.get('927589065925214239').send(pesanEmbed);
        //
      });

      scheduledMessage.start()
    }
}

我已经尝试过该代码并且它可以工作,但它只能将消息随机化一次。如何让它每次发送消息时随机发送消息?

所以最简单的方法需要两个文件。我们将调用一个文件 listPesan.json,在该文件中我们将包含以下文本:

[
    "Met siang guys, dah pada mam siang blum?",
    "Siapa yang tadi pagi mimpiin cowo atau cewe kpopnya",
    "Siang-siang enaknya...",
    "Dor kaget ga",
    "Laper dah"
]

第二个文件是你的 main.js 机器人文件和某个地方(只要它不在事件中就无所谓 (.on('messageCreate'), .on('guildMemberAdd'), 等等)

它本身是独立的(如果你愿意,你可以把你的 const 东西放在一起)我们将使用 node-cron,据说它“更好”,idk,我已经一直都在用。

const cron = require('node-cron')
const listPesan = require('./listPesan.json') // or where ever you put the file we just made above

cron.schedule('00 54 16 * * *', () => {

const pesanRandom = listPesan[Math.floor(Math.random() * listPesan.length)]

const pesanEmbed = new Discord.MessageEmbed()
    .setColor('#50c878')
    .setTitle('vermillion#3039')
    .setDescription(pesanRandom)
    .setFooter('© Vermillion')
    
    
    // if using discord v12
    client.channels.cache.get('927589065925214239').send(pesanEmbed)
    
    // if using discord v13
    client.channels.cache.get('927589065925214239').send({
        embeds: [pesanEmbed]
    })
}