1
0
Files
battle_royale_sim/bot_libs/upstart.py
2025-07-26 19:44:45 +02:00

35 lines
1.3 KiB
Python

import os as _os
from utils import logs as _log
from bot_libs import syms as _botsyms
async def _pull_repo(update):
err= _os.system(f'cd {_botsyms.BOT_PATH}; /usr/bin/git pull')
if err:
_log.log_error(f'update_bot: {chat_id} error {err} while trying to update the app')
await update.message.reply_text('Errore durante l\'aggiornamento del Bot')
return err
async def _upstart_service(update):
err= _os.system('/usr/bin/systemctl --user restart battle_royale.service')
# this error is fake, probably due to systemd restart that make the bot istance broke
#if err:
#_log.log_error(f'update_bot: {chat_id} error {err} while trying to upstart the app')
#return await update.message.reply_text('Errore durante il riavvio del Bot')
async def update_bot(update, context):
await update.message.reply_text('Sto aggiornando il Bot...')
chat_id = update.effective_chat.id
if update.message.chat.id not in _botsyms.SUPER_USERS:
return _log.log_warning(f'update_bot: user {chat_id} not allowed')
_log.log_info(f'update_bot: {chat_id} bot is updating...')
err= await _pull_repo(update)
if err: return
err= await _upstart_service(update)
if err: return
_log.log_info(f'update_bot: {chat_id} bot successfully updated')
await update.message.reply_text('Bot aggiornato e riavviato!')