✅ Регистрация и верификация жильцов ✅ Рейтинг активности (уровни) ✅ Детект шпионов (Score 0-100) ✅ Анти-мат система (3 предупреждения → бан) ✅ Админ-панель с рассылкой ✅ Учёт квартир (несколько жильцов) ✅ Телефоны экстренных служб и мастеров ✅ Еженедельный экспорт JSON ✅ Прокси (socks5) для обхода РКН Бекап: backups/versions/v1.0_mvp_2026-02-26/ Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
4.1 KiB
4.1 KiB
✅ ПРОБЛЕМА РЕШЕНА!
🎯 Что было не так:
Проблема №1: Два процесса бота
Причина: run.sh запускал бота в foreground (пока терминал открыт)
Сценарий:
- Ты открыл терминал → запустил
./run.sh→ бот работает (PID 1) - Открыл второе окно терминала → запустил
./run.shснова → второй бот (PID 2) - Telegram получал запросы от двух ботов → ошибка
Conflict
✅ Что исправлено:
1. run.sh — умный запуск
Теперь:
- Проверяет запущен ли бот (
pgrep) - Если запущен — спрашивает что делать
- Запускает в фоне (
nohup &)
Пример:
⚠️ Бот уже запущен (PID: 922576)!
Выберите действие:
1) Остановить и перезапустить бота
2) Выйти (бот продолжит работать)
2. start.sh — жёсткий запуск
Теперь:
- Убивает все процессы (
pkill -9) - Запускает заново
Используй для перезапуска после изменений
3. stop.sh — остановка
- Находит процессы
- Останавливает корректно
🧪 Тесты:
Проверка #1: Первый запуск
./run.sh
Результат: ✅ Бот запущен (PID: 922576)
Проверка #2: Второй запуск
./run.sh
Результат: ⚠️ Бот уже запущен! (спрашивает что делать)
Проверка #3: Проверка процессов
ps aux | grep "python.*main" | grep -v grep
Результат: Только ОДИН процесс!
Проверка #4: Остановка
./stop.sh
Результат: ✅ Бот остановлен
Проверка #5: Жёсткий запуск
./start.sh
Результат: ✅ Бот запущен (убил старый, запустил новый)
📊 Как теперь пользоваться:
Обычный запуск:
cd /home/matrixhasyou/domovoy_bot
./run.sh
Перезапуск после изменений:
./start.sh
Остановка:
./stop.sh
Проверка работы:
pgrep -f "python.*main.py"
# Если вернул PID — бот работает
Просмотр логов:
tail -f logs/bot.log
💡 Почему теперь два бота не запустятся?
В run.sh:
EXISTING_PID=$(pgrep -f "python.*main.py")
if [ -n "$EXISTING_PID" ]; then
# Бот уже запущен! Спрашиваем что делать.
fi
Запуск в фоне:
nohup python main.py >> logs/bot.log 2>&1 &
nohup — работает после закрытия терминала
& — в фоне
pgrep — проверяет на дубликаты
✅ Итог:
| Проблема | Решение |
|---|---|
| Два процесса бота | pgrep проверка перед запуском |
| Бот останавливался при закрытии терминала | nohup — работает в фоне |
| Не понятно как остановить | ./stop.sh — останавливает |
| Не видно PID | Показываем PID при запуске |
🎉 ТЕСТЬ ПРЯМО СЕЙЧАС:
-
Останови бота:
./stop.sh -
Запусти:
./run.sh -
Напиши боту в Telegram:
- В личку:
45 - Или команду:
/start
- В личку:
-
Проверь логи:
tail -f logs/bot.log
Должно работать! 🚀