Skip to content

ReactionRole DE

Domekologe edited this page Jun 30, 2026 · 1 revision

ReactionRole

🌐 English · Deutsch

ReactionRole ist ein einfaches, ID-basiertes Reaction-Role-System. Du verknüpfst ein Emoji an einer bestehenden Nachricht mit einer Rolle; reagiert ein Mitglied mit diesem Emoji, erhält es die Rolle, und beim Entfernen der Reaktion wird sie wieder entzogen. Jede Verknüpfung bekommt eine kurze generierte ID, damit du sie gezielt auflisten und entfernen kannst, ein manueller Sync-Befehl trägt Rollen für bereits reagierte Nutzer nach, und das PDC Web Dashboard ergänzt einen vollständigen Panel-Editor, der mehrfach belegte Reaction-Panels für dich posten und verwalten kann. Autor: pd-codes · Version 1.0.0 · benötigt Red 3.5.0+.

Screenshot: eine Reaction-Role-Nachricht in Discord

Installation

[p]repo add PDC_Redbot_Cogs https://github.com/pd-codes/PDC_Redbot_Cogs
[p]cog install PDC_Redbot_Cogs ReactionRole
[p]load ReactionRole
[p]slash sync

[p] ist das Prefix deines Bots. Die Befehle sind Hybrid-Befehle (funktionieren als Prefix und Slash), führe daher nach dem Laden einmal [p]slash sync aus, um die Slash-Varianten zu registrieren. Die vollständige Downloader-Anleitung findest du unter Installation.

Befehle

Alle Befehle sind nur auf dem Server nutzbar. Set/Remove/Sync erfordern die Berechtigung Rollen verwalten.

Befehl Parameter Funktion
reactionrole-set message_id emoji role Fügt die Emoji-Reaktion an der Nachricht im aktuellen Kanal hinzu und verknüpft sie mit der Rolle. Antwortet mit der neuen Verknüpfungs-ID.
reactionrole-remove rr_id Entfernt die Verknüpfung mit der angegebenen ID aus der Konfiguration.
reactionrole-get Listet alle Verknüpfungen: ID, Emoji, Rolle und Nachrichten-ID.
reactionrole-sync Durchsucht alle verknüpften Nachrichten erneut und vergibt die Rolle an alle, die bereits reagiert haben, sie aber nicht besitzen. Meldet die Anzahl neu gesetzter Rollen.

Hinweis zur Befehlsgruppe: Das Cog definiert flache Hybrid-Befehle (reactionrole-set, reactionrole-remove, reactionrole-get, reactionrole-sync). Eine RR-Befehlsgruppe gibt es im aktuellen Quellcode nicht, daher liefert [p]help RR kein Ergebnis — nutze stattdessen [p]help ReactionRole, um die Befehle des Cogs aufzulisten.

Wie IDs erzeugt werden

Jede Verknüpfung erhält eine 8-stellige ID — die ersten 8 Zeichen einer zufälligen uuid4() (z. B. a1b2c3d4). IDs werden für per Chat erstellte Verknüpfungen, per Dashboard erstellte Verknüpfungen und jede Emoji→Rolle-Zuordnung innerhalb eines Dashboard-Panels erzeugt. Verwende die ID mit reactionrole-remove oder in der Dashboard-Liste, um eine bestimmte Verknüpfung zu verwalten.

Konfiguration

ReactionRole speichert alles pro Server (Red Config, Identifier 983472983472):

Schlüssel Inhalt
language Sprache dieses Moduls pro Server (de-DE oder en-US).
reactionroles Zuordnung rr_id → {message_id, channel_id, emoji, role_id, panel_id?} — ein Eintrag je Emoji→Rolle-Verknüpfung.
panels Zuordnung panel_id → {channel_id, message_id, content} — per Dashboard gepostete Reaction-Panels.
templates Die Erfolgsmeldungen mit zwei Schlüsseln: set_success und remove_success.

Nachrichten-Vorlagen

Der Antworttext für Erstellen/Entfernen ist anpassbar. Verfügbare Variablen:

Variable Bedeutung Verwendet in
{id} Die Verknüpfungs-ID beide
{emoji} Das Emoji set_success
{role} Die Rollen-Erwähnung set_success
{message_id} Die Nachrichten-ID set_success
{channel} Die Kanal-Erwähnung set_success

Standardwerte: set_success✅ ReactionRole erstellt | ID: \{id}` | Emoji: {emoji} | Rolle: {role}, remove_success🗑️ ReactionRole `{id}` entfernt.`

Dashboard-Integration

ReactionRole registriert sich beim Laden am PDC Web Dashboard und hängt sich erneut ein, falls das Dashboard-Cog später erscheint. Es stellt ein Widget, zwei Panels, eine verwaltete Liste und eine eigenständige Seite bereit:

Oberfläche Mount Berechtigung Zweck
Widget „ReactionRoles“ Dashboard-Startseite (KPI, klein) guild_member Zählt die konfigurierten Verknüpfungen.
Panel „ReactionRole-Nachrichten“ guild_settings guild_admin Modul-Sprache + die beiden Erfolgsmeldungs-Vorlagen.
Panel „ReactionRole anlegen“ guild_settings guild_admin Verknüpfung direkt erstellen: Kanal, Nachrichten-ID, Emoji, Rolle — beim Speichern wird die Reaktion gesetzt und die Verknüpfung gespeichert.
Liste „Bestehende ReactionRoles“ guild_settings guild_admin Tabelle aller Verknüpfungen (Kanal, Nachrichten-ID, Emoji, Rolle) mit Bearbeiten (Rolle ändern) und Löschen (entfernt auch die Reaktion).
Eigenständige Seite reactionrole eigene Seite (GET/POST) manage_roles / manage_guild / Bot-Owner Voll-Panel-Editor: Markdown-Nachricht schreiben, mehrere Emoji→Rolle-Zuordnungen hinzufügen und ein gepostetes Reaction-Panel erstellen / aktualisieren / löschen.

Screenshot: ReactionRole Dashboard-Panel-Editor

Die eigenständige Seite ist die mächtigste Oberfläche: Sie postet die Panel-Nachricht selbst, fügt alle Reaktionen hinzu und verwaltet das gesamte Panel unter einer einzigen panel_id, sodass es als Einheit bearbeitet oder entfernt werden kann. Ältere Einzel-Verknüpfungen werden zu Pseudo-Panels zusammengefasst und bleiben dort sichtbar.

Berechtigungen & Hinweise

Der Bot benötigt Rollen verwalten (und seine Rolle muss über den zu vergebenden Rollen stehen) sowie Reaktionen hinzufügen und Nachrichtenverlauf anzeigen, um Reaktionen zu setzen und zu synchronisieren — genau die in info.json deklarierten Berechtigungen. Chat-Befehle erfordern, dass der ausführende Nutzer Rollen verwalten besitzt; Dashboard-Oberflächen erfordern guild_admin (die eigenständige Seite akzeptiert zusätzlich manage_roles / manage_guild / Bot-Owner). Es werden nur Server-Einstellungen gespeichert — Verknüpfungen, Panels, Vorlagen und die Sprach-Einstellung — keine personenbezogenen Daten.

Siehe auch: Installation · Dashboard-Integration · Start

Clone this wiki locally