I want to make a bot with discord.js v12 to count how many time a user has a role and then send it in a channel with a webhook. My problem is how to make it counting time. Here is my code:
if(command === 'on') {
const role = message.guild.roles.cache.find(role => role.name === '๐On Duty')
message.author.send('You are on duty')
message.member.roles.add(role)
message.react('<:tick:902920026489749564>')
} else if(command == 'off'){
const role = message.guild.roles.cache.find(role => role.name === '๐On Duty')
message.member.roles.remove(role)
let seconds = Math.floor(message.member.roles.cache.has(role.id) / 1000);
let minutes = Math.floor(message.member.roles.cache.has(role.id) / 60);
let hours = Math.floor(message.member.roles.cache.has(role.id) / 60);
let days = Math.floor(message.member.roles.cache.has(role.id) / 24);
seconds %= 60;
minutes %= 60;
hours %= 24;
const wc = new WebhookClient('MyWebhookId', 'myWebhookUrl')
const log = new Discord.MessageEmbed()
.setTitle('DUTY LOGS')
.setDescription(`Username: <@${message.author.id}>\n`
+ `Days: **${days}**\n`
+ `Hours: **${hours}**\n`
+ `Minutes: **${minutes}**\n`
+ `Seconds: **${seconds}**`)
.setTimestamp()
.setColor('#fa0505')
wc.send({
username : message.author.tag,
avatarURL : message.author.displayAvatarURL({ dynamic : true }),
embeds : [log]
})
message.react('<:tick:902920026489749564>')
}