Adiciona ao repo os scripts e configs reais do motor que estavam fora do git,
e remove arquivos legados/abandonados.
Adicionados (30):
- scripts/docker-compose.m5.yml, openwa-compose.yml, minio-compose.yml
- scripts/openwa.env (sem secrets)
- scripts/{entrypoint,saleor-entrypoint,saleor-start}.sh
- scripts/{chatwoot-setup,compliance-check,health-check,resumo-diario}.sh
- scripts/{insert_workflow,telegram_user_login,telegram_user_monitor}.py
- scripts/requirements.txt
- scripts/traefik-conf/{traefik.yml,dynamic-config.yml}
- scripts/compliance/, scripts/calculators/, scripts/backups/
- scripts/{README.md,README-INSTALL.md,WHATSAPP-SETUP.md,.gitignore}
- .gitignore (atualizado)
Removidos (ja' em backup/untracked-lixo-2026-07-06/):
- agents/, crm/, hermes_skills_backup/, api-complive/, docs/ (legados)
- scripts/{wrapper.py,wrapper.sh}
- scripts/docker-compose.m5.yml.backup, traefik-conf/routes.yml.bak2
- scripts/saleor-media/RSA_*.{bak,old_*}
- scripts/n8n-workflows/webhook-saleor.json.bak2
- scripts/backups/20260622_0300/saleor_db.sql
- integracao_completa.sh, monitoramento_vps.sh
- ruvector.db (vazio)
Ignorados via .gitignore:
- vault/ (Obsidian KB)
- skills/ (duplicado de ~/.hermes/skills/)
- scripts/{saleor-media,traefik-acme,yt-pub-livesx,minio,n8n-workflows,skills}/
- scripts/backups/2026*_*/
62 lines
1.7 KiB
Python
62 lines
1.7 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
Hermes Telegram User Account — Login Script v3
|
|
Passa phone e code_callback explicitamente via kwargs do start()
|
|
"""
|
|
|
|
import os
|
|
import time
|
|
import asyncio
|
|
from telethon import TelegramClient
|
|
|
|
API_ID = 35430577
|
|
API_HASH = "bf7926bd5830a1d2ebf502e538a0d816"
|
|
SESSION_PATH = os.path.expanduser("~/.hermes/telegram_user.session")
|
|
PHONE = "+5511991975554"
|
|
CODE_FILE = "/tmp/telegram_code.txt"
|
|
|
|
def get_code():
|
|
"""Lê o código do arquivo, esperando até 120s se não existir."""
|
|
print(f"Aguardando código em {CODE_FILE} ...", flush=True)
|
|
for i in range(120):
|
|
if os.path.exists(CODE_FILE):
|
|
with open(CODE_FILE) as f:
|
|
code = f.read().strip()
|
|
if code:
|
|
os.remove(CODE_FILE)
|
|
print(f"Código recebido: {code}", flush=True)
|
|
return code
|
|
time.sleep(1)
|
|
raise TimeoutError("Tempo esgotado aguardando código")
|
|
|
|
async def main():
|
|
print("=" * 50)
|
|
print("Hermes Telegram — Login com Conta de Usuário")
|
|
print("=" * 50)
|
|
print(f"Sessão: {SESSION_PATH}")
|
|
print(f"Telefone: {PHONE}", flush=True)
|
|
print()
|
|
|
|
client = TelegramClient(SESSION_PATH, API_ID, API_HASH)
|
|
|
|
# Inicia com phone e code_callback via kwargs
|
|
await client.start(
|
|
phone=lambda: PHONE,
|
|
code_callback=get_code
|
|
)
|
|
|
|
me = await client.get_me()
|
|
print()
|
|
print("=" * 50)
|
|
print("✅ LOGIN REALIZADO COM SUCESSO!")
|
|
print("=" * 50)
|
|
print(f"ID: {me.id}")
|
|
print(f"Nome: {me.first_name} {me.last_name or ''}")
|
|
print(f"Username: @{me.username}")
|
|
print(f"Telefone: {me.phone}")
|
|
print()
|
|
print("Sessão salva em: ~/.hermes/telegram_user.session", flush=True)
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(main())
|