OpenBotsDocs
03 Dashboard04 Fonctionnalites

Mode Communautaire

Panel de membres élus par la communauté, avec propositions, révocations et scores de réputation calculés automatiquement.

🌟 Système Communautaire Discord


🧭 Introduction

Le Mode Communautaire confie une partie de la gouvernance du serveur à un panel de membres élus par la communauté elle-même, plutôt qu'à un staff nommé uniquement par le propriétaire. Ce document détaille l'ensemble des critères et des indices mathématiques utilisés pour évaluer l'implication, la réputation et le comportement des membres, qui servent de base au vote.


🚀 Lancer le mode

Quand tu actives le Mode Communautaire dans le dashboard, une fenêtre te montre ce que le bot va publier dans le salon des règles. Rien n'est envoyé tant que tu n'as pas cliqué sur « Publier ».

  1. La présentation du mode (celle que tu as personnalisée dans ses réglages).
  2. L'appel à candidatures, avec un bouton « Je me présente » : les membres s'inscrivent d'un clic.
  3. La première élection s'ouvre toute seule à la fin des candidatures (durées au choix, de 1 à 14 jours). Si personne ne s'est présenté, le bot le dit et le noyau dur pourra lancer l'élection plus tard avec /communaute lancer-election.

Tu as fermé la fenêtre ? Le bouton « Lancer le mode » reste disponible à côté de la présentation, dans les réglages du Mode Communautaire.


🗳️ Fonctionnement (/communaute)

  • /communaute candidater — un membre se présente au panel communautaire (/communaute retirer-candidature pour se retirer).
  • /communaute lancer-election — ouvre le vote pour pourvoir un ou plusieurs sièges du panel (réservé au « noyau dur », les membres déjà élus/fondateurs).
  • /communaute proposer — propose une modification à faire voter par le panel.
  • /communaute revoquer — ouvre un vote de révocation contre un membre du panel jugé inactif ou problématique (réservé au noyau dur).
  • /communaute cloturer — clôture une proposition ou une révocation en cours (réservé au panel/noyau dur).
  • /communaute panel — liste les membres actuels du panel.
  • /communaute historique — historique récent des élections et propositions.

Options avancées (Flows Builder) : rappels avant clôture d'élection/proposition/révocation, MP au membre élu, notification de fin de mandat, et notification aux votants qu'une candidature vient d'être déposée.


📌 1. Critères et Paramètres

Les critères ci-dessous listent les actions et caractéristiques d'un membre. Chacun alimente un ou plusieurs indices de permission :

  • L'ancienneté ➔ Taux d'Activité (Reg_heb), Indice de Notoriété
  • Le nombre de jours actifs (sur 30j) ➔ Taux d'Activité (J_act)
  • Le nombre de messages (hors commandes) ➔ Taux d'Activité (N_msg)
  • Le nombre d'interactions ➔ Taux d'Influence (T_b_eng), Taux de Réputation
  • Le taux de bump ➔ Taux d'Influence (N_bump)
  • Le niveau ➔ Taux d'Activité (A_brut)
  • Les warns (avertissements) ➔ Indice d'Agressivité (W_cnt)
  • Les reports ➔ Taux de Précision (R_ok, R_ko), Indice d'Agressivité (R_emu)
  • Âge global du compte Discord ➔ Indice de Notoriété (Age_acc)
  • Profil configuré ➔ Indice de Notoriété (F_conf)
  • Ratio caractères / message ➔ Taux d'Activité (Filtre N_msg)
  • Temps passé en salon vocal ➔ Taux d'Activité (T_voc), Indice de Diversité (N_chan_voc)
  • Volume de flux multimédia ➔ Taux d'Activité (V_media)
  • Nombre de réactions ajoutées ➔ Taux d'Activité (A_brut), Indice de Diversité
  • Nombre de réactions reçues ➔ Taux de Réputation (R_pos, R_neg), Indice d'Agressivité (R_neg_pct)
  • Nombre de réponses (Replies) ➔ Taux de Réputation (N_rep)
  • Nombre de mentions directes reçues ➔ Taux de Réputation (N_tag)
  • Nombre de personnes parrainées/invitées ➔ Taux d'Influence (N_inv)
  • Nombre d'expulsions / Bannissements passés ➔ Indice d'Agressivité (N_ban)
  • Temps total passé en Mute / Timeout (en min) ➔ Indice d'Agressivité (T_out)
  • Ancienneté de la dernière sanction ➔ Indice d'Agressivité (T_der_sanc, C_red)
  • Nombre de départs du serveur (aller/retour) ➔ Indice de Notoriété (N_leave)
  • Indice de diversité horaire (Créneaux) ➔ Indice de Diversité (H_disp)
  • Temps de latence moyen avant réponse ➔ Taux d'Activité (A_brut)
  • Régularité hebdomadaire ➔ Taux d'Activité (Reg_heb, M_reg)
  • Taux de messages supprimés ➔ Indice d'Agressivité (P_supp)
  • Nombre de modifications de messages (Edits) ➔ Indice d'Agressivité (Agr_brut)
  • Statut de vérification du compte Discord ➔ Indice de Notoriété (F_conf)
  • Activités/jeux lancés en vocal (Discord Activities) ➔ Taux d'Activité (N_act)
  • Activité 2FA (Double Authentification) ➔ Indice de Notoriété (V_2fa)
  • Nombre de connexions externes liées (Linked Accounts) ➔ Indice de Notoriété (Link_acc)
  • Participation aux événements Discord (Scheduled Events) ➔ Taux d'Activité (N_ev), Taux d'Influence (N_ev_org)
  • Nombre de tickets de support ouverts ➔ Indice d'Agressivité (Agr_brut), Taux de Précision

📊 2. Détail des Indices

🟢 1. Taux d'Activité

  • Objectif : Mesurer l'implication réelle et la régularité d'un membre.
  • Échelle : De 0 à 1000 (plafond théorique).

🛠️ Variables & Calculs

  • Variables : N_msg (messages), T_voc (heures vocales), V_media (médias), N_act (activités vocales), N_ev (événements), J_act (jours actifs), Reg_heb (semaines consécutives).
  • Étape 1 (Activité Brute) : A_brut = (N_msg * 1) + (T_voc * 10) + (V_media * 2) + (N_act * 5) + (N_ev * 15)
  • Étape 2 (Coefficient de Régularité) : M_reg = (J_act / 30) * (1 + 0.05 * min(Reg_heb, 20))
    (Activité ajustée : A_ajustee = A_brut * M_reg)
  • Étape 3 (Score Final) : Taux d'Activité = 1000 * (1 - exp(-A_ajustee / 1500))

💡 Exemples

  • Spammeur d'un jour (500 msgs le 1er jour) ➔ 12 / 1000
  • Habitué sur 3 mois (1200 msgs + 40h vocal + présent 25j/30) ➔ 770 / 1000

🎯 2. Taux de Précision

  • Objectif : Mesurer la pertinence des décisions de modération/vote et l'identification des profils fiables.
  • Échelle : De 0 à 1000.

🛠️ Variables & Calculs

  • Variables : V_p_ok, V_p_ko, V_r_ok, V_r_ko (votes), R_ok, R_ko (signalements validés ou abusifs).
  • Étape 1 (Ratio de Succès Brut) :
    • Bonnes décisions (D_bonnes) = (V_p_ok * 1.0) + (V_r_ok * 1.0) + (R_ok * 1.5)
    • Mauvaises décisions (D_mauvaises) = (V_p_ko * 2.0) + (V_r_ko * 1.0) + (R_ko * 1.5)
      Ratio_succes = D_bonnes / (D_bonnes + D_mauvaises + 1)
  • Étape 2 (Coefficient d'Expérience) : C_exp = 1 - exp(-N_total / 15)
  • Étape 3 (Score Final) : P_ajustee = (Ratio_succes * C_exp) * 1500
    Taux de Précision = 1000 * (1 - exp(-P_ajustee / 1500))

💡 Exemples

  • Votant impulsif (20 votes au hasard, 8 futurs bannis) ➔ 205 / 1000
  • Juge aguerri (30 votes, 27 bonnes évaluations) ➔ 742 / 1000

⭐ 3. Taux de Réputation

  • Objectif : Mesurer l'estime et la bienveillance perçue à travers les réactions et interactions reçues.
  • Échelle : De 0 à 1000.

🛠️ Variables & Calculs

  • Variables : R_pos (réactions positives), R_neg (négatives), M_pin (messages épinglés), S_ok (solutions validées), N_rep (réponses reçues), N_tag (mentions).
  • Étape 1 (Réputation Brute) : R_brut = (R_pos * 1) - (R_neg * 2) + (M_pin * 25) + (S_ok * 30) + (N_rep * 2) + (N_tag * 1.5)
  • Étape 2 (Coefficient d'Équité Sociale) : C_social = 1 - exp(-N_auteurs / 20) (garantit une diversité d'utilisateurs)
    (Réputation ajustée : R_ajustee = max(0, R_brut) * C_social)
  • Étape 3 (Score Final) : Taux de Réputation = 1000 * (1 - exp(-R_ajustee / 1200))

💡 Exemples

  • Troll clivant (réactions positives de 3 amis vs 150 négatives globales) ➔ 45 / 1000
  • Membre aidant (150 réactions positives de 35 membres variés, 3 solutions) ➔ 685 / 1000

🚀 4. Taux d'Influence

  • Objectif : Mesurer la capacité à mobiliser, animer et faire croître la communauté.
  • Échelle : De 0 à 1000.

🛠️ Variables & Calculs

  • Variables : N_inv (invitations), N_thr (threads actifs), N_ev_org (événements organisés), T_b_eng (engagement moyen), N_bump (soutien promotionnel), N_son (soundboard).
  • Étape 1 (Influence Brute) : I_brut = (N_inv * 25) + (N_thr * 15) + (N_ev_org * 40) + (T_b_eng * 10) + (N_bump * 5) + (N_son * 1)
  • Étape 2 (Coefficient d'Ancrage) : C_ancrage = 1 - exp(-C_canaux / 5)
    (Influence ajustée : I_ajustee = I_brut * C_ancrage)
  • Étape 3 (Score Final) : Taux d'Influence = 1000 * (1 - exp(-I_ajustee / 1000))

💡 Exemples

  • Inviteur fantôme (15 personnes invitées, 0 animation) ➔ 210 / 1000
  • Leader communautaire (5 invités fidèles, 4 threads, 2 événements, 8 salons actifs) ➔ 725 / 1000

⚠️ 5. Indice d'Agressivité

  • Objectif : Mesurer le degré de toxicité ou de conflictualité d'un profil.
  • Échelle : De 0 (modèle) à 1000 (très toxique).

🛠️ Variables & Calculs

  • Variables : W_cnt (warns), T_out (temps en timeout), N_ban (bannissements passés), R_emu (signalements validés), P_supp (% messages supprimés), R_neg_pct (ratio emojis négatifs), T_der_sanc (temps depuis dernière sanction).
  • Étape 1 (Charge Agressive Brute) : Agr_brut = (W_cnt * 50) + (T_out * 2) + (N_ban * 150) + (R_emu * 40) + (P_supp * 10) + (R_neg_pct * 100)
  • Étape 2 (Coefficient de Rédemption) : C_red = exp(-T_der_sanc / 60) (amnistie progressive avec le temps)
    (Agressivité ajustée : Agr_ajustee = Agr_brut * C_red)
  • Étape 3 (Score Final) : Indice d'Agressivité = 1000 * (1 - exp(-Agr_ajustee / 250))

💡 Exemples

  • Membre bienveillant (0 warn, 0 mute, 1% msg supprimé) ➔ 0 / 1000
  • Récidiviste en rédemption (2 warns et 60 min de timeout il y a 90 jours) ➔ 180 / 1000
  • Toxique actif (3 warns, timeout récent, 15% msg supprimés) ➔ 835 / 1000

🌐 6. Indice de Notoriété

  • Objectif : Mesurer la perception globale et l'image du membre (modèle vs indésirable).
  • Échelle : De 0 à 1000.
  • Orientation :
    • 😇 Score élevé + Faible Agressivité ➔ Membre d'Élite / Bien-vu
    • 😈 Score élevé + Forte Agressivité ➔ Membre Nuisible / Malveillant

🛠️ Variables & Calculs

  • Variables : T_rep, T_inf, Ind_agr, Age_acc (âge du compte), N_leave (allers-retours), V_2fa (double authentification), Link_acc (comptes liés).
  • Étape 1 (Masse de Visibilité) : V_brute = (T_rep * 0.4) + (T_inf * 0.4) + min(Age_acc, 365) * 0.5
  • Étape 2 (Facteur de Légitimité) : F_conf = (1 + 0.1 * V_2fa) * (1 + 0.05 * min(Link_acc, 4)) * exp(-N_leave / 2)
  • Étape 3 (Score Final) : Not_ajustee = V_brute * F_conf
    Indice de Notoriété = 1000 * (1 - exp(-Not_ajustee / 600))

💡 Matrice de Qualification

  • Inconnu / Nouveau : Notoriété < 150 ➔ En phase d'observation
  • Pilier : Notoriété > 600 ET Agressivité < 200 ➔ Membre modèle, vote à fort poids
  • Toxique réputé : Notoriété > 600 ET Agressivité > 500 ➔ Restrictions appliquées

🧩 7. Indice de Diversité

  • Objectif : Mesurer la transversalité de l'intégration et éviter l'isolation dans une "bulle".
  • Échelle : De 0 à 1000.

🛠️ Variables & Calculs

  • Variables : N_chan_txt (salons textes), N_chan_voc (salons vocaux), N_categories (catégories visitées), H_disp (créneaux horaires), Chan_max_pct (% concentration sur un salon unique).
  • Étape 1 (Diversité Brute) : Div_brute = (N_chan_txt * 15) + (N_chan_voc * 25) + (N_categories * 40) + (H_disp * 20)
  • Étape 2 (Pénalité d'Hyper-Concentration) : F_equil = 1 - (Chan_max_pct / 100)^2
    (Diversité ajustée : Div_ajustee = Div_brute * F_equil)
  • Étape 3 (Score Final) : Indice de Diversité = 1000 * (1 - exp(-Div_ajustee / 300))

💡 Exemples

  • Membre "Bunker" (50h en vocal dans un seul salon, 95% des messages au même endroit) ➔ 115 / 1000
  • Membre Polyvalent (8 salons textes, 3 vocaux, 4 catégories, actif matin et soir) ➔ 780 / 1000

On this page