# 📋 Comandi per Windows PowerShell

## 🚀 Setup Iniziale

### 1. Installare le dipendenze Node.js
```powershell
npm install
```

### 2. Creare il file .env
```powershell
Copy-Item env.example .env
```

Oppure manualmente:
- Copia il file `env.example` e rinominalo in `.env`
- Apri `.env` e modifica:
  - `TELEGRAM_API_ID` = il tuo API ID da https://my.telegram.org/apps
  - `TELEGRAM_API_HASH` = il tuo API Hash da https://my.telegram.org/apps

### 3. Avviare MySQL e phpMyAdmin con Docker
```powershell
docker-compose up -d
```

**Verifica che i container siano attivi:**
```powershell
docker ps
```

Dovresti vedere `userbot_mysql` e `userbot_phpmyadmin` in esecuzione.

### 4. Accedere a phpMyAdmin
Apri il browser e vai su: **http://localhost:8080**

Credenziali di default:
- Username: `userbot_user`
- Password: `userbot_password`

---

## 🔧 Comandi Principali

### Creare una nuova sessione Telegram
```powershell
npm run create-session
```

Questo comando:
1. Ti chiederà il numero di telefono
2. Ti chiederà il codice ricevuto su Telegram
3. Ti chiederà la password 2FA (se presente)
4. Salverà automaticamente la sessione nel database

### Accedere con un account esistente
```powershell
npm run login
```

Questo comando:
1. Mostrerà tutte le sessioni salvate
2. Ti permetterà di selezionare quale account usare
3. Si connetterà automaticamente

### Altri comandi
```powershell
npm start    # Mostra informazioni sui comandi disponibili
npm run dev  # Modalità sviluppo (con auto-reload)
```

---

## 🐳 Comandi Docker

### Avviare i container
```powershell
docker-compose up -d
```

### Fermare i container
```powershell
docker-compose down
```

### Visualizzare i log
```powershell
docker-compose logs -f
```

### Fermare e rimuovere i volumi (ATTENZIONE: cancella i dati)
```powershell
docker-compose down -v
```

### Riavviare i container
```powershell
docker-compose restart
```

### Verificare lo stato dei container
```powershell
docker-compose ps
```

---

## 🔍 Risoluzione Problemi

### Se `npm install` non funziona:
```powershell
# Pulisci la cache npm
npm cache clean --force

# Reinstalla
npm install
```

### Se Docker non si avvia:
```powershell
# Verifica che Docker Desktop sia avviato
# Controlla i log
docker-compose logs mysql
docker-compose logs phpmyadmin
```

### Se il database non si connette:
1. Verifica che MySQL sia avviato: `docker ps`
2. Controlla le credenziali nel file `.env`
3. Verifica che la porta 3306 non sia già in uso

### Se i comandi npm non funzionano:
```powershell
# Verifica che Node.js sia installato
node --version

# Verifica che npm sia installato
npm --version

# Se necessario, reinstalla le dipendenze
Remove-Item -Recurse -Force node_modules
Remove-Item package-lock.json
npm install
```

---

## 📝 Note Importanti

- **Prima di tutto**: Assicurati di aver creato il file `.env` con le tue credenziali Telegram
- **MySQL deve essere avviato** prima di usare `create-session` o `login`
- Le sessioni vengono salvate automaticamente nel database
- Puoi gestire più account Telegram contemporaneamente


