Что делать, если что-то сломалось. Диагностика и починка.
Симптом: @shitcoders_club_bot не реагирует на /start, сообщения, кнопки.
Диагностика:
# Проверить статус сервиса systemctl status shitcoders-club
# Посмотреть последние ошибки journalctl -u shitcoders-club -n 30 --no-pager
Если сервис упал:
systemctl start shitcoders-club
Если крашится в цикле (Restart):
# Проверить логи journalctl -u shitcoders-club -n 50 --no-pager
# Частые причины и решения: * TelegramConflictError — запущен второй инстанс бота → pkill -f shitcoders && systemctl start shitcoders-club * Ошибка БД — повреждён SQLite → sqlite3 /root/shitcoders_club/data/shitcoders.db "PRAGMA integrity_check;" → Если битая — восстановить из бекапа * Закончилось место на диске → df -h, journalctl --vacuum-time=7d, apt clean
Симптом: В логах ``TelegramConflictError: terminated by other getUpdates``.
Решение:
pkill -f shitcoders_club && systemctl restart shitcoders-club
Профилактика: убедись, что нет запущенных экземпляров:
ps aux | grep python | grep -i bot
Симптом: Пользователь оплатил, деньги списались, но подписка не активировалась.
Диагностика:
# Вебхук-сервер слушает порт? ss -tlnp | grep 8002
# Логи вебхука journalctl -u shitcoders-club -n 50 --no-pager | grep -i webhook
# Проверить URL в админке Prodamus → Настройки → URL уведомлений # Там должен быть: http://IP_СЕРВЕРА:8002/webhook/prodamus
Решение:
Симптом: Отменил подписку через бота, но деньги списались.
Диагностика:
journalctl -u shitcoders-club -n 50 --no-pager | grep setActivity
Решение:
1. Зайти в админку Prodamus → Подписчики → выключить подписку вручную 2. Проверить PRODAMUS_SECRET_KEY в .env на сервере 3. Проверить логи: почему API-запрос не сработал
Симптом: После нажатия любой кнопки бот перестаёт отвечать.
Диагностика:
journalctl -u shitcoders-club -n 30 --no-pager
Частые причины:
Решение:
1. sqlite3 /root/shitcoders_club/data/shitcoders.db "PRAGMA integrity_check;" 2. pip install -r requirements.txt --upgrade 3. df -h, проверить место 4. systemctl restart shitcoders-club
Симптом: https://ivanchepurnov.ru/wiki/ — 404, 502 или пустая страница.
Диагностика:
# PHP жив? systemctl status php8.1-fpm
# Nginx жив? nginx -t && systemctl status nginx
# Файлы вики на месте? ls -la /var/www/wiki/data/pages/
Решение:
systemctl restart php8.1-fpm systemctl reload nginx chown -R www-data:www-data /var/www/wiki rm -rf /var/www/wiki/data/cache/*
# Всё одной строкой: systemctl status shitcoders-club --no-pager -l | head -10 echo "---" journalctl -u shitcoders-club -n 10 --no-pager echo "---" ss -tlnp | grep -E "8002|8085" echo "---" df -h / | tail -1 echo "---" sqlite3 /root/shitcoders_club/data/shitcoders.db ".tables"