Appearance
Support
Most issues fix themselves with a single /setup action. The first half of this page walks you through the self-diagnosis flow; the second half is a FAQ. If neither resolves it, the contact form at the bottom routes directly to the BWS developer support channel.
First — self-diagnosis flow
Open /setup → ℹ️ About in your chat.
└─ Copy that text. It's everything support needs to triage.
Then ask yourself, in order:
1. Does the bot reply to /setup at all?
├─ No → bot was kicked or demoted from admin → re-promote and retry
└─ Yes → continue.
2. Did /setup → 📊 Reports → ⚡ Generate report now produce something
within 3 minutes?
├─ No DM, no post → check next question.
├─ DM "no posts found" → filter too narrow or no on-topic posts;
/setup → 🎯 Filters to see
the literal X API query.
├─ DM "credit exhausted" → /setup → 💳 Buy Credits → 💰 Buy.
├─ Post landed but image looks wrong → re-fire; if persistent,
contact support with the chat ID.
└─ Post landed correctly → you're fine.
3. Are scheduled reports arriving?
├─ No → /setup top screen shows the cron. Compare to actual UTC time.
The bot's first scheduled fire happens AFTER the next cron tick,
not immediately after setup.
└─ Yes → all good.If none of those land you on a fix, scroll past the FAQ to the contact link.
FAQ
Setup & install
Q. The bot doesn't reply when I add it. Confirm it's promoted to admin, not just "member". Telegram → group settings → Administrators. Re-promotion is instant; the bot doesn't need re-install.
Q. Can I move the bot to a different group? Yes — add it to the new group, run /setup there. The two chats are independent (different chat IDs = different settings, schedules, scores). There's no data migration between chats.
Q. The bot reports in the main thread, but my group has topics — can I redirect? From inside the desired forum topic, send:
/set_topic ReportsFuture reports route to that topic. Reset with /set_topic clear.
Q. How do I uninstall?
- Stop reports first:
/setup→ ⏰ Schedule → ✕ Disable schedule. - Remove the bot: Telegram → group → admins → kick
@BWS_X_Bot. - Settings stay in the database. Re-adding the bot to the same chat ID resumes everything. Ask support for hard delete.
Reports & filtering
Q. Why are my numbers different from third-party trackers? X Bot pulls directly from the official X API. Most third-party trackers scrape or extrapolate — we've measured discrepancies of 20–50%. The X API number is the source of truth.
Q. The leaderboard shows users I didn't expect to track. Filters are additive. If a chat tracks $YOUR_TOKEN cashtag, anyone tweeting that cashtag gets ranked, not just the accounts you listed. To require both an account and a cashtag, use the from:@x cashtags:$YOUR_TOKEN form via /set_x_filtering (the AND-of-everything semantic of named filters).
Q. The report says "0 posts" — what now? Three possibilities, in order of likelihood:
- Filter too narrow —
/setup→ 🎯 Filters shows the literal X API query. Common typo:$BTC(trailing space) vs$BTC. - Period too narrow — if you set a custom period, posts outside that window don't count.
/setup→ 📊 Reports → 🗑 Clear period reverts to rolling 24 h. - The accounts you track really posted nothing on-topic in 24 h — extend with cashtags or keywords for fallback signal.
Q. Can I track a private/protected X account? No — the X API only returns public posts.
Q. Can I exclude specific users from a chat's leaderboard (e.g. spam bots)? Yes: /setup → 🎯 Filters → 🙈 Ignore → ➕ Add. Listed handles are dropped from results post-fetch.
Q. Why does my chat have multiple report fires per day? Either you set a multi-fire cron (cron(0 14,22 ? * * *)) or you have multiple named filters running on the same schedule. Each named filter produces its own report.
Q. The "Best Tweet" pick seems weird. The AI selector picks the highest-engagement post that wasn't picked recently. If results consistently feel off, contact support — the prompt is tunable.
X Posts Auto-relay
Q. The relay forwarded a thread of 6 posts at once. I only wanted the first. That's the X API's exclude=replies only filtering replies to other users; self-replies (thread continuations) bypass it. /setup → 📡 X Posts Auto-relay → @account → toggle ☐ Thread continuations off. The bot then keeps only the head of each thread.
Q. The relay stopped forwarding mid-day. Check the per-relay screen — if Today: 10/10 forwarded, you hit the daily cap. Tap ✏️ Cap to raise. Cap auto-resets at midnight UTC.
Q. The relay shows ⏸ Paused but I never paused it. The bot auto-pauses on Telegram chat-gone errors (kicked / blocked / chat upgraded) and stops the polling schedule. /setup → 📡 X Posts Auto-relay shows the row in case you re-add the bot.
Billing & credits
Q. What's a "credit" exactly? One credit = one post returned by the X API. FREE chats get 100 free credits/month; PRO chats are billed via Stripe (subscription) or ETH (credit pack).
Q. Where do I see my credits balance?/setup → 💳 Buy Credits. Shows used / remaining / reset date.
Q. I just paid but my balance / plan didn't update.
- Stripe path (card subscription): the webhook usually activates PRO within seconds. If 5+ minutes later you don't see
PRO ✓in/setup→ 💳 Buy Credits, contact support with your Stripe receipt and chat ID. - ETH path (credit pack): the on-chain confirmation can take 1–3 minutes. If after 10 minutes credits don't show, contact support with the transaction hash and chat ID.
Q. Can I have both a Stripe subscription AND ETH credits on the same chat? Yes — they layer. A PRO·credits chat that subscribes keeps its existing ETH balance, and per-fetch billing drains ETH credits first before the subscription's monthly grant kicks in. Practical effect: if you have 5 000 ETH credits and subscribe, the first 5 000 fetches don't touch Stripe at all; subsequent fetches use the sub's 1 000/mo grant; anything beyond is $0.02/post metered overage. The ETH balance never expires.
The one constraint: a chat already on PRO·sub can't add a fresh ETH pack from the same buy flow today (the buy command blocks it). Cancel the subscription first if you want to switch back to credits-only.
Q. What happens when my PRO·credits balance hits zero? The license is automatically downgraded to FREE. The bot keeps fetching under the 100/month FREE cap until that's exhausted too. The next /setup → 💳 → 💰 Buy then offers both paths again.
Q. Is the credits balance per-chat or per-user? Per-chat. Each Telegram group has its own credits and license.
Public dashboard
Q. My project doesn't show on xbot.ninja. Three thresholds must all be met in the current month:
- Top user score ≥ 300
- Tracked posts ≥ 5
- Active users ≥ 2
The first month is usually the bottleneck. Direct URL https://xbot.ninja/?chatId=<your-id> works regardless.
Q. How do I find my chat ID?/setup → ℹ️ About. The negative-prefixed long integer.
Q. Can I customise the public xbot.ninja card?/setup → 🎨 Customization. Set Name, Description, Logo, URLs. The card refreshes on the next report cycle.
X API quirks
Q. Why are some posts older than expected counted? The bot uses tweets/search/all (full-archive endpoint). When you set a period, the bot can fetch posts from any time inside it. The default is rolling 24 h, but a custom period can be backdated.
Q. Sometimes a post takes 5+ minutes to appear in a relay. X Posts Auto-relay polls every 5 minutes. Latency is up to one polling interval (~2.5 min average / ~5 min worst case). Plus brief X API + Telegram delivery latency.
Q. The X API returned an error — what does the operator see? Internal error counters tick up; designated admins receive a private DM (/setup → 👥 Admins to configure who). Common 4xx codes: 401/403 (operator-side credentials), 402 (credits depleted), 429 (rate-limited — bot retries with backoff).
What to include in a support request
Copy and paste this template:
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>The chat ID alone gives support 80% of triage information — please always include it.
Expected response times
- Critical: bot offline platform-wide, billing failures → response within 1 business hour during EU+US business overlap
- High: report not delivering for a single chat → same business day
- Normal: feature questions, configuration help → 1–2 business days
Useful links
- Telegram bot: @BWS_X_Bot
- Public dashboard: xbot.ninja
- Documentation: /docs/
- GitHub issues: blockchain-web-services/bws-api-telegram-xbot
- Direct support: bws.ninja — contact form routes to BWS developer support