Усунення несправностей X Bot: звіти, фільтри, розклади, рахунки
Зведений покажчик усіх шляхів "щось виглядає неправильно, що робити". Матриці зі сторінок installation / setup-menu / support також продубльовані тут, щоб можна було шукати на одній сторінці замість трьох.
Почніть тут: відкрийте
/setup→ ℹ️ About у своїй групі. Чотири рядки на цьому екрані (ID чату, тариф, розклад, назва проєкту) — це те, що потрібно підтримці для розбору. Скопіюйте їх перед тим, як робити щось інше.
Потік самодіагностики
Пройдіть ці питання по порядку. Більшість проблем вирішуються на одній з перших двох перевірок.
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"Якщо жодна з матриць нижче не вирішує проблему, перейдіть до Ескалації.
Звіти не приходять
| Симптом | Ймовірна причина | Виправлення |
|---|---|---|
| Бот був активний раніше, раптово замовк | Бота розжалувано з адмінів / вигнано мовчки | Telegram → адміни групи → повторно призначте. Якщо все ще мовчить, зверніться до підтримки — можливо, спрацювало самовимкнення при chat-gone. |
| Ручний generate-now нічого не дає | Бот адмін, але має нуль кредитів | /setup → 💳 Buy Credits. Якщо FREE "100/100 used" — зачекайте щомісячного скидання (1-го числа UTC). Якщо PRO·credits з REMAINING=0 — чат вже автоматично перейшов на FREE; /setup → 💳 → 💰 Buy, щоб поповнити. |
| Ручний generate-now: DM "no posts found" | Фільтр занадто вузький АБО немає постів у вікні | /setup → 🎯 Filters. Перевірте буквальний запит X API на помилки. Спробуйте розширити або прибрати період. |
| Зображення рендериться, але текст порожній | AI-коментар не встиг вчасно | Перезапустіть; тимчасова проблема. Якщо повторюється — зверніться до підтримки. |
| Зображення взагалі не рендериться | Тимчасовий збій рендеру | Перезапустіть. Якщо повторюється для одного чату — зверніться до підтримки з ID чату. |
| Помилка "Unauthorized" / "Forbidden" у DM адміну | Проблема з токеном X API (з боку оператора) | Зверніться до підтримки; користувач це виправити не може. |
Фільтр / немає постів
| Симптом | Ймовірна причина | Виправлення |
|---|---|---|
| У звіті скрізь "0 постів" | Фільтр нічому не відповідає в налаштованому періоді | Крок 1: /setup → 🎯 Filters — перевірте запит. Крок 2: /setup → 📊 Reports → 🗑 Clear period (плаваючі 24 год толерантніші). Крок 3: розширте фільтри (додайте резервний кештег, приберіть суворі групи ключових слів). |
| У лідерборді користувачі, яких я не додавав у фільтр | Фільтри адитивні — рахується кожен, хто твітить відстежуваний кештег/ключове слово | Щоб вимагати і акаунт, і кештег одночасно, скористайтеся /set_x_filtering name from:@x cashtags:$Y (іменований фільтр, семантика "І" між категоріями). |
| Той самий користувач заспамив лідерборд | Бот законно оцінив кожен пост | /setup → 🎯 Filters → 🙈 Ignore → ➕ Add @spammer — вони відкидаються з результатів після отримання. |
| Кештег з дивними символами не збігається | X API нормалізує регістр; пробіли на початку/в кінці мають значення при вводі фільтра | Додайте повторно через /setup → 🎯 Filters → 💵 Cashtags → ➕ Add → без $, без пробілів. |
Кештег, що починається з цифри (напр., $1INCH), не відстежується | Поведінка пошуку X API з початковими цифрами може бути непослідовною | Використайте як ключове слово замість кештегу: "$1INCH" у 🔍 Keywords з лапками. |
| Вибір "Best Tweet" здається неправильним | Дедуплікація AI нещодавно обрала схожий твіт | Зачекайте один цикл. Якщо постійно виглядає неправильно — повідомте, промпт можна налаштувати. |
Розклад не спрацьовує
| Симптом | Ймовірна причина | Виправлення |
|---|---|---|
Розклад "відхилено" з FREQUENCY_ERROR | Cron намагається спрацьовувати частіше, ніж раз на 12 год | Перевірка проміжку вимагає проміжок ≥ 12 год. Повідомлення про помилку називає пару годин-конфлікт. Оберіть ширший проміжок. |
| Розклад встановлено, але звіт не прийшов вчасно | Запланований cron спрацьовує в межах ~1–2 хв від тику | Зачекайте 5 хв після налаштованого часу, перш ніж вважати це пропуском. Рідкісні затримки трапляються, але вирішуються самі. |
| Cron з кількома запусками спрацьовує лише раз | Список годин не за порядком або дублікат | cron(0 14,22 ? * * *) — по зростанню годин. cron(0 22,14 ? * * *) відхиляється. |
| На staging розклад спрацьовує кожні 5 хв, на prod — ні | Різні простори імен RULE_NAME | Переконайтеся, що перевіряєте правильне середовище. /setup → ℹ️ About показує середовище. |
| Часовий пояс здається неправильним | Розклад за замовчуванням у UTC | Переведіть свій локальний час у UTC. Поле встановлення розкладу в окремих випадках приймає й іменовані часові пояси — перевірте docstring поля. |
| X Posts Auto-relay спрацьовує, а звіти — ні | Різні cron-розклади | X Posts Auto-relay опитує кожні 5 хв на кожен relay; звіти використовують основний cron чату (зазвичай щоденний). Вони незалежні. |
Якість рендеру
| Симптом | Ймовірна причина | Виправлення |
|---|---|---|
| Власний заголовок / колір відкотився за ніч | Кеш інвалідовано, наступний запит покаже нове значення | Зачекайте один цикл звіту (~1 день). Кеш рендеру перебудовується на наступному запиті. |
| Логотип розмитий / обрізаний | Вихідне зображення закамале або не квадратне | Завантажте повторно ≥ 512×512 PNG, квадратне співвідношення. /setup → 🎨 Customization → 🖼 Logo. |
| Ім'я користувача виходить за межі в зображенні лідерборду | Довге відображуване ім'я | Бот обрізає з трьома крапками; виправлення не потрібне, якщо не постійно. |
Текст Best-tweet показує сирий <a href> HTML | Невідповідність режиму парсингу Telegram | Баг — будь ласка, повідомте з URL твіта. |
| Зображення звіту відрізняється від превью в Telegram | Telegram кешує перші байти зображення за URL; підписані URL містять мітку часу, тож кожен запит унікальний | Не повинно траплятися; якщо трапляється — оновіть через /recreate. |
X Posts Auto-relay
| Симптом | Ймовірна причина | Виправлення |
|---|---|---|
| Relay пересилає тред з 6 твітів одразу | Самовідповіді обходять exclude=replies X API | /setup → 📡 X Posts Auto-relay → @account → вимкніть ☐ Thread continuations. Тоді бот залишає лише голову. |
| Relay зупинився в середині дня | Досягнуто денний ліміт | Екран relay показує Today: N/N forwarded. Торкніться ✏️ Cap і підвищіть. Скидається опівночі UTC. |
| Relay показує ⏸ Paused, хоча я не ставив на паузу | Автопауза при помилці Telegram chat-gone (вигнали / заблокували / оновили чат) | Бот також зупинив розклад опитування. Щоб відновити: /setup → 📡 X Posts Auto-relay → @account → ▶️ Resume. Якщо все ще не працює, можливо, у чату змінився ID (оновлення до супергрупи) — повторно додайте бота в новому чаті. |
| Перше опитування relay переслало 50 постів | Bootstrap не повинен так робити — має лише встановити LAST_POST_ID без пересилання | Якщо бачите таке, будь ласка, повідомте. Виправлення, додане у 2026-04, мало це запобігти. |
| Цитати продовжують з'являтися попри перемикач | У X API немає серверного exclude=quotes — бот фільтрує на своєму боці після отримання | Перемикач працює, але ви все одно платите за цитати, повернуті API. Заощадження лише косметичне. |
| Relay опитує вічно, попри видалений чат | Стара версія relay — auto-cleanup додано у 2026-05 | Попросіть підтримку примусово зупинити relay. Нові розгортання самоочищаються. |
Рахунки та кредити
| Симптом | Ймовірна причина | Виправлення |
|---|---|---|
| Купив кредити, баланс не змінився | Webhook Stripe затримався | Зачекайте 5 хв. Якщо все ще неправильно, зверніться до підтримки з квитанцією Stripe + ID чату. |
| Кількість кредитів вища, ніж очікувалося | Relay опитував кілька разів у період, коли відстежуваний акаунт був активний | X Posts Auto-relay тарифікує за пост. Торкніться relay → перевірте лічильник Today. |
| Тарифікований перевитрат на PRO·sub, хоча постив мало | Інше використання чату (relay, звіти, повторні спроби запитів) | /setup → 💳 Buy Credits → Usage this month. Порівняйте з тарифікованим стягненням. |
| Стягнення з чату FREE | Не повинно траплятися — FREE не має клієнта Stripe | Повідомте негайно; це баг тарифікації. |
| Підписка показує "canceled", хоча я не скасовував | Скасування Stripe може бути викликане невдалим автопродовженням картки | Перевірте пошту на квитанції Stripe, оновіть картку через /setup → 💳 → 🛠 Manage subscription (Клієнтський портал Stripe). |
| Скасував підписку, все ще PRO | Скасування наприкінці періоду: PRO до кінця оплаченого періоду | Очікувано. Повертається до FREE в кінці наступного платіжного циклу. |
Публічний дашборд
| Симптом | Ймовірна причина | Виправлення |
|---|---|---|
| Проєкту немає на xbot.ninja | Не відповідає порогам (≥ 300 top score, ≥ 5 постів, ≥ 2 активних користувачі цього місяця) | Прямий URL все ще працює. Зачекайте, поки метрика досягне порога. Налаштування соло-KOL навмисно приховані з вітрини. |
| Проєкт на xbot.ninja, але логотип відсутній | Логотип ніколи не завантажувався, або завантаження не вдалося | /setup → 🎨 Customization → 🖼 Logo. Надішліть квадратний PNG. |
| Публічний URL показує стару назву проєкту | Оновлення на наступному циклі звіту | Перейменуйте через /setup → 🎨 Customization → 🏷 Name. Слаг URL + картка оновляться при наступному запуску звіту. |
| URL видає 404 | Чат жорстко видалено, АБО пороги ще не досягнуто, тому вітрина приховує його | Перевірте ID чату через /setup → ℹ️ About. Перевірте прямий URL https://xbot.ninja/?chatId=<id>. |
Ескалація
Коли матриці вище не вирішують проблему, зверніться до підтримки за шаблоном нижче.
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>Сам по собі ID чату дає підтримці 80% інформації для розбору — будь ласка, завжди його вказуйте.
Куди звертатися:
- Загальна підтримка: контактна форма bws.ninja
- GitHub issues (для тих, хто орієнтується у відкритому коді): bws-api-telegram-xbot/issues
- Прямий Telegram: @BlockchainWebServices
Час відповіді за критичністю:
- Критично (бот офлайн на всій платформі, збої з рахунками): 1 робоча година протягом перетину бізнес-годин ЄС+США
- Високо (звіт одного чату не доставляється): того ж робочого дня
- Звичайно (питання щодо функцій, допомога з налаштуванням): 1–2 робочих дні
Корисні діагностичні команди
| Команда | Що показує |
|---|---|
/setup → ℹ️ About | ID чату, тариф, розклад, проєкт — скопіюйте це дослівно в запит підтримки |
/setup → 🎯 Filters | Буквальний рядок запиту X API |
/setup → 💳 Buy Credits → 📊 Usage this month | Денні + місячні лічильники fetched_posts — виявляють тихі збої (багато спроб, нуль постів → ймовірно 402) |
/setup → 📡 X Posts Auto-relay → @account | Стан окремого relay (активний / на паузі, сьогоднішні пересилки, денний ліміт) |
/get_chatid | Просто ID чату (однорядково, якщо About — це забагато) |
Що далі
- Встановлення — чисте перевстановлення, якщо все інше не спрацювало
- Меню /setup — повний довідник меню
- Тарифи — усунення несправностей з боку рахунків
- Підтримка — FAQ + контакти для ескалації