v1.26 Исправление + systemd автозапуск

🐛 ИСПРАВЛЕНИЯ:
• chat_monitor.py: защита от None
• message_count: (None or 0) + 1
• rating: (None or 0) + RATING_PER_MESSAGE

🤖 SYSTEMD АВТОЗАПУСК:
• domovoy-bot.service — systemd юнит
• install-systemd.sh — скрипт установки
• Автозапуск после ребута
• Перезапуск при падении
• Логи через journalctl

📁 ФАЙЛЫ:
• handlers/chat_monitor.py: исправление
• domovoy-bot.service: systemd
• install-systemd.sh: установка

🎯 УСТАНОВКА:
./install-systemd.sh

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
Admin 2026-03-13 18:16:04 +04:00
parent b7d9508e56
commit d2ad0c4da0
3 changed files with 62 additions and 4 deletions

27
domovoy-bot.service Normal file
View file

@ -0,0 +1,27 @@
[Unit]
Description=Domovoy Bot - Telegram Bot for Apartment Building
After=network.target
[Service]
Type=simple
User=matrixhasyou
Group=matrixhasyou
WorkingDirectory=/home/matrixhasyou/domovoy_bot
Environment="PATH=/home/matrixhasyou/domovoy_bot/venv/bin"
ExecStart=/home/matrixhasyou/domovoy_bot/venv/bin/python /home/matrixhasyou/domovoy_bot/main.py
Restart=always
RestartSec=10
StandardOutput=append:/home/matrixhasyou/domovoy_bot/logs/systemd.log
StandardError=append:/home/matrixhasyou/domovoy_bot/logs/systemd.log
# Limitations
LimitNOFILE=65535
Nice=10
IOSchedulingClass=idle
# Security
NoNewPrivileges=true
PrivateTmp=true
[Install]
WantedBy=multi-user.target

View file

@ -87,12 +87,12 @@ async def monitor_all_messages(message: Message):
if old_value:
logger.info(f'Profile change: user_id={user_id}, {field_name}: {old_value}{new_value}')
# Обновляем данные
user.message_count += 1
# Обновляем данные (защищаемся от None)
user.message_count = (user.message_count or 0) + 1
user.last_seen = datetime.utcnow()
# Начисляем рейтинг за сообщение
user.rating += RATING_PER_MESSAGE
# Начисляем рейтинг за сообщение (защищаемся от None)
user.rating = (user.rating or 0) + RATING_PER_MESSAGE
user.update_level() # Обновляем уровень
# ==========================================

31
install-systemd.sh Normal file
View file

@ -0,0 +1,31 @@
#!/bin/bash
# Установка systemd сервиса для Домового Бота
echo "🔧 Установка systemd сервиса..."
# Копируем сервис в systemd
sudo cp domovoy-bot.service /etc/systemd/system/
echo "✅ Сервис скопирован"
# Перезагружаем systemd
sudo systemctl daemon-reload
echo "✅ systemd обновлён"
# Включаем автозапуск
sudo systemctl enable domovoy-bot
echo "✅ Автозапуск включён"
# Запускаем сервис
sudo systemctl start domovoy-bot
echo "✅ Сервис запущен"
# Проверяем статус
sudo systemctl status domovoy-bot --no-pager
echo ""
echo "📊 КОМАНДЫ УПРАВЛЕНИЯ:"
echo " sudo systemctl start domovoy-bot # Запустить"
echo " sudo systemctl stop domovoy-bot # Остановить"
echo " sudo systemctl restart domovoy-bot # Перезапустить"
echo " sudo systemctl status domovoy-bot # Статус"
echo " journalctl -u domovoy-bot -f # Логи"