#Star role (reward)
2 messages · Page 1 of 1 (latest)
const { QuickDB } = require("quick.db");
const db = new QuickDB();
const STAR_ROLE_ID = '1088118341765447790';
const STAR_CHANNEL_ID = '1088122597889282179';
const { Events, EmbedBuilder } = require('discord.js');
module.exports = {
name: Events.MessageCreate,
once: false,
async execute(message, client) {
if (message.author.bot) return; // ignore les bots
const today = new Date().toISOString().slice(0, 10);
const memberKey = `${message.guild.id}.${message.author.id}.${today}`;
// Incrémente le compteur de messages du membre pour aujourd'hui
await db.add(memberKey, 1);
// Vérifie si le membre a envoyé le plus de messages aujourd'hui
const memberData = (await db.all()).filter((data) => data.id.startsWith(`${message.guild.id}.${message.author.id}`));
const messageCount = memberData.reduce((acc, data) => acc + data.value, 0);
const currentStar = await db.get(`stars.${today}`);
if (!currentStar || messageCount > currentStar.messageCount) {
// Retire le rôle à l'ancien star
if (currentStar) {