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:
parent
b7d9508e56
commit
d2ad0c4da0
3 changed files with 62 additions and 4 deletions
27
domovoy-bot.service
Normal file
27
domovoy-bot.service
Normal 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
|
||||
|
|
@ -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
31
install-systemd.sh
Normal 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 # Логи"
|
||||
Loading…
Reference in a new issue