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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions