如何每天在 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]
})
}
我正在尝试制作一个机器人,它将使用 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]
})
}