Skip to content

module: starboard: Système de starboard personnalisable #152

Description

@RedsTom

⭐ Module Starboard

Remplacer les solutions existantes de starboard (Carl-bot, etc.) par un module
OmniBot natif, entièrement configurable par salon.

Fonctionnalités

  • Poster les messages qui atteignent un certain nombre de réactions dans un
    salon starboard dédié
  • Support de plusieurs émojis déclencheurs (unicode et custom <:name:id>)
  • Pas de double-compte : les réactions sur le message starboard lui-même
    sont ignorées
  • Mise à jour en direct du compteur quand des réactions sont ajoutées/retirées
  • Comportement configurable quand les réactions repassent sous le seuil
    (garder ou supprimer l'entrée)
  • Support de tous les types de messages : texte, embeds, pièces jointes,
    stickers
  • Lien "Aller au message" dans l'embed du starboard

Configuration (via /config starboard)

Champ Type Description
starboardChannel CHANNEL Salon de destination
reactionEmojis [STRING] Émojis déclencheurs
reactionCount NUMBER Seuil de réactions (défaut: 3)
selfStar BOOLEAN Autoriser l'auto-star (défaut: false)
allowedChannels [CHANNEL] Salons surveillés (vide = tous)
ignoreBotMessages BOOLEAN Ignorer les bots (défaut: true)
belowThresholdBehavior ENUM remove ou keep (défaut: keep)
embedColor ENUM Couleur de l'embed

DB

  • StarboardEntry — lie message original ↔ message starboard

Détails d'implémentation

  • Deux listeners : messageReactionAdd et messageReactionRemove
  • Le calcul du count se fait en parcourant message.reactions.cache et en
    filtrant les émojis correspondant à la config
  • L'embed starboard doit forwarder les embeds originaux du message

Metadata

Metadata

Assignees

Projects

Status
En cours de développement

Relationships

None yet

Development

No branches or pull requests

Issue actions