X Bot Fehlerbehebung: Reports, Filter, Zeitpläne, Abrechnung
Ein konsolidierter Index für jeden „etwas sieht falsch aus, was jetzt"-Pfad. Die Matrizen aus Installation / Setup-Menü / Support leben ebenfalls hier, sodass du eine Seite statt drei durchsuchen kannst.
Hier starten: öffne
/setup→ ℹ️ Über in deiner Gruppe. Die vier Zeilen auf diesem Bildschirm (Chat-ID, Plan, Zeitplan, Projektname) sind das, was der Support zur Triage braucht. Kopiere sie, bevor du irgendetwas anderes tust.
Selbstdiagnose-Ablauf
Gehe diese Fragen der Reihe nach durch. Die meisten Probleme lösen sich bei einer der ersten beiden Prüfungen.
1. Does the bot reply to /setup at all?
├─ No → bot was kicked or demoted from admin → re-promote and retry
└─ Yes → continue.
2. Does /setup → 📊 Reports → ⚡ Generate report now produce a post
within 3 minutes?
├─ No DM, no post → check matrix in §"Reports not arriving"
├─ DM "no posts found" → see §"Filter / no posts"
├─ DM "credit exhausted" → see §"Billing & credits"
├─ Post landed but renders wrong → see §"Render quality"
└─ Post landed correctly → you're fine.
3. Are scheduled reports arriving on time?
├─ No → see §"Schedule not firing"
└─ Yes → all good.
4. X Posts Auto-relay issues?
└─ See §"X Posts Auto-relay"Wenn dich keine der untenstehenden Matrizen zu einer Lösung führt, scrolle zu Eskalation.
Reports kommen nicht an
| Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| Bot war zuvor aktiv, plötzlich still | Bot wurde stillschweigend vom Admin herabgestuft / entfernt | Telegram → Gruppen-Admins → erneut befördern. Falls weiterhin still, kontaktiere den Support — die automatische Deaktivierung bei Chat-verschwunden könnte ausgelöst worden sein. |
| Manuelles Jetzt-Generieren erzeugt nichts | Bot ist Admin, hat aber null Credits | /setup → 💳 Credits kaufen. Wenn FREE „100/100 verwendet" — warte auf den monatlichen Reset (1. des Monats UTC). Wenn PRO·Credits mit REMAINING=0 — Chat wurde bereits automatisch auf FREE herabgestuft; /setup → 💳 → 💰 Kaufen zum Aufladen. |
| Manuelles Jetzt-Generieren: DM „keine Posts gefunden" | Filter zu eng ODER keine Posts im Fenster | /setup → 🎯 Filter. Prüfe die wörtliche X-API-Abfrage auf Tippfehler. Erweitere oder entferne den Zeitraum. |
| Bild wird gerendert, aber Text ist leer | KI-Kommentar hat Timeout erreicht | Erneut ausführen; vorübergehend. Anhaltend = Support kontaktieren. |
| Bild rendert überhaupt nicht | Vorübergehende Rendering-Störung | Erneut ausführen. Falls wiederholt für einen Chat fehlschlägt, Support mit Chat-ID kontaktieren. |
| Fehler „Unauthorized" / „Forbidden" in Admin-DM | Problem mit dem X-API-Token (betreiberseitig) | Support kontaktieren; nichts, was der Nutzer beheben kann. |
Filter / keine Posts
| Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| Report zeigt überall „0 Posts" | Filter passt auf nichts im konfigurierten Zeitraum | Schritt 1: /setup → 🎯 Filter — Abfrage bestätigen. Schritt 2: /setup → 📊 Reports → 🗑 Zeitraum löschen (rollierende 24h sind nachsichtiger). Schritt 3: Filter erweitern (Cashtag-Fallback hinzufügen, strikte Keyword-Gruppen entfernen). |
| Leaderboard zeigt Nutzer, die ich nicht zum Filter hinzugefügt habe | Filter sind additiv — jeder, der ein verfolgtes Cashtag/Keyword twittert, zählt | Um sowohl einen Account als auch ein Cashtag zu verlangen, nutze /set_x_filtering name from:@x cashtags:$Y (benannter Filter, UND-von-Kategorien). |
| Derselbe Nutzer dominiert das Leaderboard | Bot hat legitim jeden Post bewertet | /setup → 🎯 Filter → 🙈 Ignorieren → ➕ Hinzufügen @spammer — sie werden nach dem Abruf aus den Ergebnissen entfernt. |
| Cashtag mit seltsamen Zeichen passt nicht | X API normalisiert Groß-/Kleinschreibung; führende/nachgestellte Leerzeichen sind bei der Filtereingabe relevant | Erneut hinzufügen über /setup → 🎯 Filter → 💵 Cashtags → ➕ Hinzufügen → kein $ nötig, keine Leerzeichen. |
Zahlen-präfixiertes Cashtag (z. B. $1INCH) wird nicht verfolgt | Das Suchverhalten der X API mit führenden Zahlen kann inkonsistent sein | Als Keyword statt als Cashtag verwenden: "$1INCH" in 🔍 Keywords mit Anführungszeichen. |
| „Best Tweet"-Auswahl wirkt daneben | KI-Deduplizierung hat kürzlich einen ähnlichen Tweet ausgewählt | Einen Zyklus warten. Anhaltend daneben = melden; der Prompt ist anpassbar. |
Zeitplan feuert nicht
| Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
Zeitplan „abgelehnt" mit FREQUENCY_ERROR | Cron versucht, öfter als alle 12h zu feuern | Abstandsprüfung erzwingt ≥ 12h Lücken. Die Fehlermeldung nennt das betroffene Stundenpaar. Wähle eine größere Lücke. |
| Zeitplan gesetzt, aber Report kam nicht rechtzeitig | Geplanter Cron feuert innerhalb von ~1–2 Min. des Ticks | Warte 5 Min. nach der konfigurierten Zeit, bevor du von einem Ausfall ausgehst. Seltene vorgelagerte Verzögerungen passieren, lösen sich aber von selbst. |
| Mehrfach-Feuer-Cron feuert nur einmal | Stundenliste ungeordnet oder doppelt | cron(0 14,22 ? * * *) — aufsteigende Stunden. cron(0 22,14 ? * * *) wird abgelehnt. |
| Zeitplan auf Staging feuert alle 5 Min., Prod nicht | Unterschiedlicher RULE_NAME-Namensraum | Bestätige, dass du die richtige Umgebung prüfst. /setup → ℹ️ Über zeigt die Umgebung. |
| Zeitzone scheint falsch | Zeitplan ist per Design UTC | Rechne deine lokale Zeit in UTC um. Die Zeitplan-Eingabe akzeptiert in einigen Grenzfällen auch benannte Zeitzonen — prüfe die Docstring des Eintrags. |
| X-Posts-Auto-Relay feuert, aber Reports nicht | Unterschiedliche Cron-Zeitpläne | X-Posts-Auto-Relay nutzt eine 5-Min.-Abfrage pro Relay; Reports nutzen den Hauptzeitplan des Chats (typischerweise täglich). Sie sind unabhängig. |
Renderqualität
| Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| Benutzerdefinierter Titel / Farbe über Nacht zurückgesetzt | Cache invalidiert, nächster Abruf zeigt den neuen Wert | Warte einen Report-Zyklus (~1 Tag). Der Render-Cache baut sich beim nächsten Abruf neu auf. |
| Logo unscharf / beschnitten | Quellbild zu klein oder nicht quadratisch | Erneut hochladen mit ≥ 512×512 PNG, quadratisches Seitenverhältnis. /setup → 🎨 Anpassung → 🖼 Logo. |
| Nutzername läuft im Leaderboard-Bild über | Langer Anzeigename | Bot kürzt mit Auslassungspunkten; keine Korrektur nötig, außer bei Anhalten. |
Best-Tweet-Text zeigt rohes <a href>-HTML | Telegram-Parse-Modus-Fehlanpassung | Bug — bitte mit der Tweet-URL melden. |
| Anderes Report-Bild als Telegram-Vorschau | Telegram cacht die ersten Bild-Bytes nach URL; presignierte URLs enthalten einen Zeitstempel, sodass jeder Abruf einzigartig ist | Sollte nicht passieren; falls doch, über /recreate rotieren. |
X-Posts-Auto-Relay
| Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| Relay leitet einen 6-Tweet-Thread auf einmal weiter | Selbstantworten umgehen das exclude=replies der X API | /setup → 📡 X-Posts-Auto-Relay → @account → ☐ Thread-Fortsetzungen ausschalten. Der Bot behält dann nur den Anfang. |
| Relay stoppte mitten am Tag | Tägliche Obergrenze erreicht | Der Pro-Relay-Bildschirm zeigt Today: N/N forwarded. Tippe auf ✏️ Obergrenze und erhöhe sie. Setzt sich um Mitternacht UTC zurück. |
| Relay zeigt ⏸ Pausiert, aber ich habe nie pausiert | Automatisch pausiert bei Telegram-Chat-verschwunden (entfernt / blockiert / Chat upgegradet) | Der Bot hat auch den Abrufplan gestoppt. Zum Wiederherstellen: /setup → 📡 X-Posts-Auto-Relay → @account → ▶️ Fortsetzen. Falls weiterhin fehlschlägt, hat sich möglicherweise die Chat-ID geändert (Supergruppen-Upgrade) — Bot in der neuen Gruppe erneut hinzufügen. |
| Erste Abfrage des Relays leitete 50 Posts weiter | Bootstrap sollte dies nicht tun — nur die LAST_POST_ID setzen, ohne weiterzuleiten | Falls du das siehst, bitte melden. Der Fix von 2026-04 sollte dies verhindern. |
| Zitat-Tweets erscheinen weiterhin trotz des Umschalters | Die X API hat kein serverseitiges exclude=quotes — der Bot filtert clientseitig nach dem Abruf | Umschalter funktioniert, aber du zahlst weiterhin für die von der API zurückgegebenen Zitat-Tweets. Nur kosmetische Ersparnis. |
| Relay fragt endlos ab, obwohl der Chat gelöscht wurde | Alte Relay-Version — automatische Bereinigung hinzugefügt in 2026-05 | Bitte den Support, das Relay zwangsweise zu stoppen. Neue Deployments bereinigen sich selbst. |
Abrechnung & Credits
| Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| Credits gekauft, Guthaben unverändert | Stripe-Webhook verzögert | 5 Min. warten. Falls weiterhin falsch, Support mit Stripe-Beleg + Chat-ID kontaktieren. |
| Credit-Anzahl höher als erwartet | Ein Relay hat mehrfach in einem Zeitraum abgefragt, in dem der verfolgte Account aktiv war | X-Posts-Auto-Relay berechnet pro Post. Relay antippen → Today-Zähler prüfen. |
| Überschreitungsgebühr bei PRO·Abo, obwohl ich wenig gepostet habe | Andere Nutzung im Chat (Relays, Reports, Abruf-Wiederholungen) | /setup → 💳 Credits kaufen → Nutzung diesen Monat. Mit der abgerechneten Gebühr vergleichen. |
| FREE-Chat berechnet | Sollte nicht passieren — FREE hat keinen Stripe-Kunden | Sofort melden; dies ist ein Abrechnungsfehler. |
| Abo zeigt „gekündigt", aber ich habe nicht gekündigt | Stripe-Kündigung kann durch fehlgeschlagene automatische Kartenverlängerung ausgelöst werden | E-Mail auf Stripe-Belege prüfen, Karte über /setup → 💳 → 🛠 Abo verwalten (Stripe-Kundenportal) aktualisieren. |
| Abo gekündigt, immer noch PRO | Kündigung zum Zeitraumende: PRO bis zum Ende des bezahlten Zeitraums | Erwartet. Kehrt am Ende des nächsten Abrechnungszyklus zu FREE zurück. |
Öffentliches Dashboard
| Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| Projekt nicht auf xbot.ninja | Erfüllt die Schwellenwerte nicht (≥ 300 Top-Punktzahl, ≥ 5 Posts, ≥ 2 aktive Nutzer diesen Monat) | Direkte URL funktioniert weiterhin. Warte, bis die Kennzahl den Schwellenwert erreicht. Solo-KOL-Setups sind absichtlich vom Showcase verborgen. |
| Projekt auf xbot.ninja, aber Logo fehlt | Logo nie hochgeladen, oder Upload fehlgeschlagen | /setup → 🎨 Anpassung → 🖼 Logo. Ein quadratisches PNG senden. |
| Öffentliche URL zeigt alten Projektnamen | Aktualisierung beim nächsten Report-Zyklus | Umbenennen über /setup → 🎨 Anpassung → 🏷 Name. URL-Slug + Karte aktualisieren sich, sobald der nächste Report feuert. |
| URL gibt 404 zurück | Chat wurde endgültig gelöscht, ODER Schwellenwerte noch nicht erreicht, sodass der Showcase ihn verbirgt | Chat-ID über /setup → ℹ️ Über bestätigen. Direkte URL https://xbot.ninja/?chatId=<id> testen. |
Eskalation
Wenn die obigen Matrizen das Problem nicht lösen, kontaktiere den Support mit der folgenden Vorlage.
Project: <your project name>
Chat ID: <from /setup → ℹ️ About>
Plan: FREE / PRO·credits / PRO·sub
What's wrong: <1–2 sentences>
What you tried: </setup → … → … steps you ran>
When it broke: <approx UTC time>
Recent change: <any new filter / schedule / payment in the last 24 h>Die Chat-ID allein gibt dem Support 80 % der Triage-Informationen — bitte immer angeben.
Wohin senden:
- Allgemeiner Support: bws.ninja-Kontaktformular
- GitHub-Issues (Open-Source-bewusst): bws-api-telegram-xbot/issues
- Direktes Telegram: @BlockchainWebServices
Antwortzeiten nach Schweregrad:
- Kritisch (Bot plattformweit offline, Abrechnungsfehler): 1 Geschäftsstunde während der EU+US-Geschäftszeit-Überlappung
- Hoch (ein Chat-Report wird nicht zugestellt): am selben Geschäftstag
- Normal (Funktionsfragen, Konfigurationshilfe): 1–2 Geschäftstage
Nützliche Diagnosebefehle
| Befehl | Was er zeigt |
|---|---|
/setup → ℹ️ Über | Chat-ID, Plan, Zeitplan, Projekt — wörtlich in den Support kopieren |
/setup → 🎯 Filter | Wörtliche X-API-Abfragezeichenfolge |
/setup → 💳 Credits kaufen → 📊 Nutzung diesen Monat | Tägliche + monatliche fetched_posts-Zähler — erkennt stille Fehler (viele Versuche, null Posts → wahrscheinlich 402er) |
/setup → 📡 X-Posts-Auto-Relay → @account | Zustand pro Relay (aktiv / pausiert, heutige Weiterleitungen, tägliche Obergrenze) |
/get_chatid | Nur die Chat-ID (Einzeiler, falls Über zu viel ist) |
Wie es weitergeht
- Installation — saubere Neuinstallation, falls alles andere fehlschlägt
- Das /setup-Menü — vollständige Menüreferenz
- Preise — abrechnungsseitige Fehlerbehebung
- Support — FAQ + Kontakt-Eskalation