🚀 Auto-deploy: BotVPS atualizado em 28/03/2026 19:27:25

This commit is contained in:
2026-03-28 19:27:25 +00:00
parent bf8416bc60
commit ff688b76b6
2 changed files with 24 additions and 3 deletions

View File

@@ -8,23 +8,35 @@ import json
def run_bash_command(command: str) -> str:
"""Executa um comando bash na VPS e retorna a saída."""
try:
# Garante caminhos comuns no PATH para execução via PM2/Containers
custom_env = os.environ.copy()
paths = ["/usr/local/bin", "/root/.cargo/bin", "/usr/bin", "/bin"]
current_path = custom_env.get("PATH", "")
for p in paths:
if p not in current_path:
current_path = f"{p}:{current_path}"
custom_env["PATH"] = current_path
# Executa comando de forma segura dentro da VPS
result = subprocess.run(
command,
shell=True,
capture_output=True,
text=True,
timeout=120 # Aumentado para comandos mais pesados
timeout=120,
env=custom_env
)
output = result.stdout.strip()
error = result.stderr.strip()
# Se encontrou algo no stdout, retornamos o que achou mesmo com erro (ex: find com permissão negada em algumas pastas)
# Se encontrou algo no stdout, retornamos o que achou mesmo com erro
if output:
return output
if result.returncode != 0:
if result.returncode == 127:
return f"ERRO (127): Comando não encontrado. Verifique se o alias ou binário está no PATH. (Comando: {command})"
return f"ERRO ({result.returncode}): {error if error else 'Nada no stderr'}"
return "Sucesso (vazio)"