【发布时间】:2021-09-19 09:34:32
【问题描述】:
我已经编写了完成这项工作所需的大约 95% 的代码,只需完成它,以便发送的嵌入消息显示角色调整正确的人员列表。有人可以为我指出正确的方向,以便对成员进行分类并正确发布到嵌入中吗?
代码如下:
cron.schedule('00 12 * * *', function () {
con.query(`SELECT * FROM users WHERE member = 'Yes' AND user_registered < DATE_SUB(NOW(),INTERVAL 14 DAY)`, (err, rows) => {
if (err) throw err
rows.slice().forEach(row => {
const discord = row.discord
const member = bot.users.cache.get(discord)
const rank = row.rank
const messages = row.messages
const registered = row.user_registered
const days = Math.round((Date.now() / 1000 / 60 / 60 / 24) - (registered / 1000 / 60 / 60 / 24))
if (days >= 14 && messages >= 150 && rank === 'Recruit') {
member.roles.remove(member.guild.roles.cache.find(role => role.name === 'Recruit'))
member.roles.add(member.guild.roles.cache.find(role => role.name === 'Noble'))
} else if (days >= 30 && messages >= 750 && rank === 'Noble') {
member.roles.remove(member.guild.roles.cache.find(role => role.name === 'Noble'))
member.roles.add(member.guild.roles.cache.find(role => role.name === 'Hero'))
} else if (days >= 90 && messages >= 1500 && rank === 'Hero') {
member.roles.remove(member.guild.roles.cache.find(role => role.name === 'Hero'))
member.roles.add(member.guild.roles.cache.find(role => role.name === 'Fabled'))
} else if (days >= 180 && messages >= 3000 && rank === 'Fabled') {
member.roles.remove(member.guild.roles.cache.find(role => role.name === 'Fabled'))
member.roles.add(member.guild.roles.cache.find(role => role.name === 'Mythic'))
} else if (days >= 365 && messages >= 6000 && rank === 'Mythic') {
member.roles.remove(member.guild.roles.cache.find(role => role.name === 'Mythic'))
member.roles.add(member.guild.roles.cache.find(role => role.name === 'Legend'))
}
const noble = a //This needs to be set up
const hero = b //This needs to be set up
const fabled = c //This needs to be set up
const mythic = d //This needs to be set up
const legend = e //This needs to be set up
const promotionEmbed = new Discord.MessageEmbed()
.setColor('#ff6600')
.setTitle('Promotions')
.setDescription(`The following members have been promoted:`)
.addFields({
name: 'Noble',
value: `${noble.join('\n')}` || 'None', //This needs to be set up
inline: true
}, {
name: 'Hero',
value: `${hero.join('\n')}` || 'None', //This needs to be set up
inline: true
}, {
name: 'Fabled',
value: `${fabled.join('\n')}` || 'None', //This needs to be set up
inline: true
}, {
name: 'Mythic',
value: `${mythic.join('\n')}` || 'None', //This needs to be set up
inline: true
}, {
name: 'Legend',
value: `${legend.join('\n')}` || 'None', //This needs to be set up
inline: true
})
genchat.send(promotionEmbed)
})
})
})
【问题讨论】:
标签: mysql cron discord.js