Dashboard & Accounts
Dashboard & Accounts
Die gesamte Konfiguration läuft über die Social-Seite im Dashboard.
Allgemein
| Einstellung | Bedeutung |
|---|---|
| Social aktivieren | Hauptschalter für das ganze Plugin |
| Prüf-Intervall (Min.) | Wie oft jeder Account auf neue Posts geprüft wird |
| Max. Posts / Prüfung | Obergrenze pro Account und Prüfung (gegen Flut) |
| Standard-Embed-Farbe | Hex ohne # (z. B. 2B2D31) oder Farbname |
| Ping über Embed | Rollen-Ping in eigener Zeile über dem Embed |
| Statistiken zeigen | Likes/Reposts/Kommentare anzeigen, wenn verfügbar |
API-Zugangsdaten
Hier kommt das Twitter/X Bearer Token rein. Instagram-Tokens werden pro Account gesetzt.
Custom-Emojis
Für jedes Label (X-Logo, Instagram-Logo, Verifiziert-Badge, Likes, Reposts, Kommentare, Views, Link) wählst du den Index eines Custom-Emojis deiner Application. Es werden ausschließlich Custom-Emojis verwendet.
Account hinzufügen
Klick auf Account hinzufügen und fülle aus:
| Feld | Beschreibung |
|---|---|
| Plattform | Twitter/X oder Instagram |
| Benutzername | Handle ohne @ |
| Kanal | Ziel-Kanal für neue Posts |
| Rolle pingen | Rolle, die gepingt wird (optional) |
@everyone pingen | Statt Rolle alle pingen |
| Format | Embed (reiche Karte) oder Text (schlichte Nachricht; Discord zeigt die Link-Vorschau) |
| RSS feed URL | Optional: einen RSS/Atom-Feed crawlen statt der API (z. B. RSS.app) — keine API-Keys nötig |
| Nachricht über dem Post | Optionaler Text, Platzhalter %username% und %url% |
| Embed-Farbe | Optionale Farbe nur für diesen Account (nur bei Format Embed) |
Quelle: Ist eine RSS feed URL gesetzt, wird der Feed gecrawlt — sonst die API. Nur Twitter/X (ohne RSS): Antworten einbeziehen, Reposts einbeziehen. Nur Instagram (ohne RSS): Instagram-Account-ID und Access-Token.
Beispiel-Konfiguration
Wer lieber direkt die Datei bearbeitet: Die gespeicherte Konfiguration liegt unter
configuration/social-extension.json5 (Vorgaben & Kommentare in plugins/social-extension/data/configs/en-social-extension.json5).
Sie spiegelt exakt die Dashboard-Felder wider.
config: {
global: {
enabled: true,
poll_interval_minutes: 5, // Prüf-Intervall in Minuten
max_posts_per_check: 3, // Obergrenze pro Account & Prüfung
mention_above_embed: true,
show_statistics: true,
embed_color: "2B2D31", // Hex ohne # oder Farbname
},
credentials: {
twitter_bearer_token: "DEIN_X_BEARER_TOKEN",
},
// Index eines Custom-Emojis deiner Application pro Label
emojis: { twitter: 0, instagram: 1, verified: 2, like: 3, repost: 4, comment: 5, view: 6, link: 7 },
// Liste (Array) von Accounts — jeder mit einer eindeutigen "id"
accounts: [
// Twitter / X — nutzt das globale Bearer Token oben
{
id: "discord_x",
enabled: true,
platform: "twitter",
username: "discord", // Handle ohne @
channel_id: "123456789012345678", // Ziel-Kanal
mention_role_id: "234567890123456789", // Rolle pingen ("" = aus)
mention_everyone: false,
format: "embed", // "embed" oder "text"
custom_message: "Neuer Post von %username%!", // %username%, %url%
embed_color: "1D9BF0",
include_replies: false,
include_retweets: true,
},
// Instagram per RSS — keine API-Keys nötig (z. B. RSS.app-Feed)
{
id: "natgeo_ig",
enabled: true,
platform: "instagram",
username: "natgeo",
channel_id: "345678901234567890",
mention_role_id: "",
mention_everyone: false,
format: "text", // schlicht als Text + Link-Vorschau
rss_url: "https://rss.app/feeds/dein-instagram.xml", // gesetzt -> Feed statt API
custom_message: "",
embed_color: "E1306C",
// ig_user_id / access_token nur nötig, wenn KEIN rss_url genutzt wird
},
],
}
twitter_bearer_token, access_token) werden im Dashboard nie zurück angezeigt. Beim
Bearbeiten über das Dashboard ein leeres Feld = vorhandener Wert bleibt erhalten.Verhalten
- Beim ersten Check eines neuen Accounts werden vorhandene Posts nur stillschweigend gemerkt — der Kanal wird also nicht mit dem Verlauf geflutet. Erst danach veröffentlichte Posts werden angekündigt.
- Bereits gesendete Posts werden in
configuration/social-state.jsongemerkt (pro Installation, nicht im Repository).