From db1d99d424ad875143189917f24a91405bbfa505 Mon Sep 17 00:00:00 2001 From: Alberto Balbo Date: Mon, 20 Oct 2025 12:04:06 +0200 Subject: [PATCH] Aggiornamento alla versione 2.7.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Riorganizzato layout verticale per "Utenti" e "Log" con GridSplitter verticale e altezza minima garantita (80px). - Resi simmetrici i margini tra "Utenti" e "Log" (8px sopra e sotto). - Implementata navigazione automatica ai Preferiti all'avvio in modalità Multi-Asta, con controllo URL per evitare ricaricamenti inutili. - Aggiunta griglia utenti per-asta con numero di puntate per utente, ordinata in modo decrescente e affiancata al log con GridSplitter. - Aggiornata documentazione con riferimenti dettagliati alle modifiche (es. `v2.7_VERTICAL_LAYOUT.md`, `v2.6_UI_POLISH.md`). --- Mimante/CHANGELOG.md | 205 ------- Mimante/IMPLEMENTATION_SUMMARY.md | 565 -------------------- Mimante/MULTI_AUCTION_GRID_GUIDE.md | 413 -------------- Mimante/MULTI_AUCTION_GUIDE.md | 214 -------- Mimante/PROJECT_SUMMARY.md | 417 --------------- Mimante/QUICK_REFERENCE.md | 296 ----------- Mimante/README.md | 439 --------------- Mimante/v2.1_CHANGES.md | 359 ------------- Mimante/v2.1_README.md | 59 -- Mimante/v2.1_SUMMARY.md | 314 ----------- Mimante/v2.2_PER_AUCTION_MANAGEMENT.md | 591 --------------------- Mimante/v2.3_MULTI_AUCTION_IMPROVEMENTS.md | 521 ------------------ Mimante/v2.3_QUICK_SUMMARY.md | 117 ---- Mimante/v2.4_QUICK_SUMMARY.md | 150 ------ Mimante/v2.4_UI_REFINEMENTS.md | 515 ------------------ Mimante/v2.5_BIDDERS_PER_AUCTION.md | 554 ------------------- Mimante/v2.5_QUICK_SUMMARY.md | 158 ------ Mimante/v2.6_QUICK_SUMMARY.md | 146 ----- Mimante/v2.6_UI_POLISH.md | 476 ----------------- Mimante/v2.7_VERTICAL_LAYOUT.md | 204 ------- README.md | 32 +- 21 files changed, 2 insertions(+), 6743 deletions(-) delete mode 100644 Mimante/CHANGELOG.md delete mode 100644 Mimante/IMPLEMENTATION_SUMMARY.md delete mode 100644 Mimante/MULTI_AUCTION_GRID_GUIDE.md delete mode 100644 Mimante/MULTI_AUCTION_GUIDE.md delete mode 100644 Mimante/PROJECT_SUMMARY.md delete mode 100644 Mimante/QUICK_REFERENCE.md delete mode 100644 Mimante/README.md delete mode 100644 Mimante/v2.1_CHANGES.md delete mode 100644 Mimante/v2.1_README.md delete mode 100644 Mimante/v2.1_SUMMARY.md delete mode 100644 Mimante/v2.2_PER_AUCTION_MANAGEMENT.md delete mode 100644 Mimante/v2.3_MULTI_AUCTION_IMPROVEMENTS.md delete mode 100644 Mimante/v2.3_QUICK_SUMMARY.md delete mode 100644 Mimante/v2.4_QUICK_SUMMARY.md delete mode 100644 Mimante/v2.4_UI_REFINEMENTS.md delete mode 100644 Mimante/v2.5_BIDDERS_PER_AUCTION.md delete mode 100644 Mimante/v2.5_QUICK_SUMMARY.md delete mode 100644 Mimante/v2.6_QUICK_SUMMARY.md delete mode 100644 Mimante/v2.6_UI_POLISH.md delete mode 100644 Mimante/v2.7_VERTICAL_LAYOUT.md diff --git a/Mimante/CHANGELOG.md b/Mimante/CHANGELOG.md deleted file mode 100644 index ab951b1..0000000 --- a/Mimante/CHANGELOG.md +++ /dev/null @@ -1,205 +0,0 @@ -# ?? Changelog - AutoBidder - -Tutte le modifiche significative a questo progetto saranno documentate in questo file. - ---- - -## [2.0.0] - 2024 - Multi-Auction Release ?? - -### ? Nuove Funzionalità - -#### ?? Modalità Multi-Asta -- **Monitoraggio simultaneo** di tutte le aste nei preferiti di Bidoo -- **Selezione intelligente** dell'asta con timer più basso (priorità automatica) -- **Navigazione automatica** alla pagina preferiti (`https://it.bidoo.com/?tab=FAV`) -- **Scansione periodica** delle aste (ogni 5 secondi) per rilevare nuove aggiunte -- **Ottimizzazione risorse**: Una sola WebView invece di finestre multiple (~70% risparmio memoria) - -#### ?? Interfaccia Utente -- Nuovo **selettore modalità**: `[Asta Singola]` / `[Multi-Asta]` -- Pannello **"Asta Attiva"** mostra: - - Nome dell'asta su cui AutoBidder sta puntando - - Numero totale di aste monitorate nei preferiti -- Indicatori visuali per modalità attiva (pulsante verde) -- Layout riorganizzato con spazio per nuovi elementi - -#### ?? Funzionalità Asta Multipla -- **Algoritmo priorità**: Seleziona automaticamente asta più urgente -- **Gestione reset per asta**: Rilevamento e log specifico per ogni asta -- **Tracciamento bidder per asta**: Monitora chi punta su quale asta -- **Limiti applicati globalmente**: Max clicks, max resets, min/max price funzionano su tutte le aste -- **Click intelligente**: Punta sull'asta prioritaria al momento giusto - -#### ? Performance -- **Polling dinamico multi-asta**: Adatta frequenza lettura basandosi sul timer più basso -- **Script ottimizzati**: Lettura elementi DOM specifica per ID invece di query generiche -- **Cache elementi**: Riutilizzo bottoni e timer per velocità -- **Log dettagliato**: Ogni evento indica il nome dell'asta specifica - -### ?? Miglioramenti - -#### Codice -- Refactoring metodo `StartButton_Click` per supportare doppio loop -- Estratti metodi helper per gestione modalità: - - `SingleAuctionButton_Click()` - - `MultiAuctionButton_Click()` - - `UpdateModeButtons()` - - `UpdateActiveAuctionDisplay()` -- Nuove classi dati: - - `AuctionInfo`: Metadati permanenti asta - - `AuctionState`: Stato temporaneo snapshot -- Metodi core Multi-Asta: - - `MultiAuctionLoop()`: Loop principale multi-asta - - `ScanFavoriteAuctions()`: Scansione preferiti - - `ReadAllAuctionStates()`: Lettura stati parallela - - `PerformMultiAuctionClick()`: Click su asta specifica - -#### Automazione Loop -- `AutomationLoop()` ora logga "Modalità: Asta Singola" per chiarezza -- `MultiAuctionLoop()` implementa strategia intelligente di selezione -- Gestione errori migliorata con timeout specifici per operazione -- Fallback su errori: continua operazione invece di crash - -### ?? Documentazione - -#### Nuovi File -- **`README.md`**: Documentazione completa progetto (overview, guide, FAQ) -- **`MULTI_AUCTION_GUIDE.md`**: Guida dettagliata modalità Multi-Asta -- **`IMPLEMENTATION_SUMMARY.md`**: Riepilogo tecnico implementazione -- **`QUICK_REFERENCE.md`**: Carta di riferimento rapido per utenti -- **`CHANGELOG.md`**: Questo file - -#### Contenuti -- Guide passo-passo per entrambe le modalità -- Spiegazione algoritmo priorità con esempi -- Troubleshooting completo -- Strategie vincenti e best practices -- Dettagli tecnici architettura -- Diagrammi flusso operativo - -### ?? Bug Fix -- Fix contatore reset: Ora confronta timer PRIMA di aggiornarlo (risolve conteggio doppio) -- Fix tracciamento bidder: Non registra più "AutoBidder" se nome utente disponibile -- Fix sincronizzazione UI: Usa `BeginInvoke` invece di `Invoke` per evitare deadlock -- Fix cache timer: Timeout corretto (20ms invece di indefinito) - -### ?? Modifiche Tecniche - -#### XAML (MainWindow.xaml) -- Aggiunta Row 0: Grid con pulsanti modalità -- Row 4 modificata: Incluso pannello "Asta Attiva" (visibile solo in Multi-Asta) -- Aggiornati indici Grid.Row per tutti gli elementi successivi (shift +1) -- Nuovo elemento `ActiveAuctionPanel` con Visibility bindata - -#### C# (MainWindow.xaml.cs) -- Variabili di stato: - ```csharp - private bool _isMultiAuctionMode = false; - private List _monitoredAuctions = new(); - private string _currentActiveAuction = ""; - ``` -- Classi helper per gestione dati aste multiple -- Script JavaScript per interazione DOM Bidoo: - - Scansione: Trova `div[id^="divAsta"]` - - Lettura: Estrae prezzo, timer, bidder da ID specifici - - Click: Punta su pulsante `mehodkbdkbd{ID}` - -### ?? Breaking Changes -- **Nessuno**: La modalità Asta Singola funziona esattamente come prima -- Retrocompatibilità completa con configurazioni esistenti - -### ?? Casi d'Uso Supportati - -#### Asta Singola (Esistente) -- Focus massima precisione su un prodotto specifico -- Configurazione manuale URL asta -- Comportamento identico a versione precedente - -#### Multi-Asta (Nuovo) -- Monitoraggio automatico tutti i preferiti -- Selezione dinamica asta più urgente -- Filtro automatico per limiti prezzo -- Rotazione intelligente tra aste multiple - -### ?? Metriche Performance - -| Aspetto | v1.x (Singola) | v2.0 (Multi) | Variazione | -|---------|---------------|--------------|------------| -| **Memoria** | ~150MB | ~150-180MB | +20% | -| **CPU (idle)** | 2-5% | 3-6% | +1-2% | -| **CPU (attivo)** | 5-10% | 8-12% | +2-3% | -| **Polling min** | 20ms | 20ms | Uguale | -| **Aste gestite** | 1 | Illimitate* | ? | - -*Raccomandato max 10-15 per performance ottimali - -### ?? Miglioramenti Futuri Pianificati - -#### v2.1 (Patch) -- [ ] Persistenza configurazione (salvataggio automatico impostazioni) -- [ ] Notifiche audio/visive su eventi -- [ ] Export log in CSV/JSON -- [ ] Profili configurazione salvabili - -#### v2.2 (Minor) -- [ ] Modalità "Smart Auto": Switch automatico Single/Multi -- [ ] Grafici real-time (timer, prezzi) -- [ ] Statistiche avanzate (vincite, percentuali) -- [ ] Dark/Light theme toggle - -#### v3.0 (Major) -- [ ] Predizione timer con Machine Learning -- [ ] WebSocket real-time invece di polling -- [ ] Cross-platform (Avalonia/MAUI) -- [ ] Cloud sync configurazioni - ---- - -## [1.x] - 2024 - Initial Releases - -### Funzionalità Base -- ? Modalità Asta Singola -- ? Click automatico su timer -- ? Lettura diretta variabili JavaScript Bidoo -- ? Multi-click opzionale -- ? Limiti prezzo (min/max) -- ? Limiti operativi (max clicks, max resets) -- ? Tracciamento puntatori -- ? Log operazioni dettagliato -- ? Browser integrato (WebView2) -- ? Navigazione sicura (solo domini Bidoo) - -### Performance -- ? Polling dinamico (20-400ms) -- ? Cache bottone click (500ms) -- ? Script ultra-veloce lettura timer -- ? Update UI asincrono non-bloccante - -### Interfaccia -- ?? Dark theme moderno -- ?? Pulsanti con border radius -- ?? DataGrid puntatori -- ?? Log scrollabile auto-pulizia -- ?? Barra navigazione integrata - ---- - -## Formato Versione - -Questo progetto usa [Semantic Versioning](https://semver.org/): -- **MAJOR**: Modifiche incompatibili API/comportamento -- **MINOR**: Nuove funzionalità retrocompatibili -- **PATCH**: Bug fix retrocompatibili - ---- - -## Link Utili - -- [README.md](README.md) - Documentazione principale -- [MULTI_AUCTION_GUIDE.md](MULTI_AUCTION_GUIDE.md) - Guida Multi-Asta -- [QUICK_REFERENCE.md](QUICK_REFERENCE.md) - Riferimento rapido -- [IMPLEMENTATION_SUMMARY.md](IMPLEMENTATION_SUMMARY.md) - Dettagli tecnici - ---- - -**AutoBidder Team** - *Making Bidoo automation smarter, one release at a time* ?? diff --git a/Mimante/IMPLEMENTATION_SUMMARY.md b/Mimante/IMPLEMENTATION_SUMMARY.md deleted file mode 100644 index 14718be..0000000 --- a/Mimante/IMPLEMENTATION_SUMMARY.md +++ /dev/null @@ -1,565 +0,0 @@ -# ?? Riepilogo Implementazione Multi-Asta - -## ? Modifiche Completate - -### ?? File Modificati - -#### 1. `MainWindow.xaml` - Interfaccia Utente -**Modifiche principali:** -- ? Aggiunto selettore modalità "Asta Singola" / "Multi-Asta" -- ? Nuovo pannello "Asta Attiva" (visibile solo in Multi-Asta) -- ? Contatore "Aste monitorate" -- ?? Aggiornati indici Grid.Row per nuovi elementi -- ?? Stili visuali migliorati per indicatori di stato - -**Struttura pannello sinistro:** -``` -Row 0: [Asta Singola] [Multi-Asta] ? NUOVO -Row 1: [Avvia] -Row 2: [Pausa] -Row 3: [Stop] -Row 4: Stats + Asta Attiva Panel ? MODIFICATO -Row 5: Settings Row 1 -Row 6: Settings Row 2 -Row 7: Bidders header -Row 8: Bidders grid -Row 9: Log header -Row 10: Log box -``` - -#### 2. `MainWindow.xaml.cs` - Logica Business -**Nuove funzionalità:** - -##### A. Variabili e Classi -```csharp -// Modalità operative -private bool _isMultiAuctionMode = false; - -// Gestione aste multiple -private List _monitoredAuctions = new(); -private string _currentActiveAuction = ""; - -// Classe info asta -class AuctionInfo { - string AuctionId, Name, PriceElementId, - TimerElementId, BidderElementId, ButtonId - double LastKnownTimer - string LastKnownBidder -} - -// Classe stato temporaneo -class AuctionState { - string AuctionId, Name, Price, Bidder - double Timer -} -``` - -##### B. Nuovi Metodi - -**1. Gestione Modalità** -- `SingleAuctionButton_Click()` - Attiva modalità singola -- `MultiAuctionButton_Click()` - Attiva multi-asta + naviga a preferiti -- `UpdateModeButtons()` - Aggiorna UI pulsanti modalità -- `UpdateActiveAuctionDisplay()` - Mostra asta corrente - -**2. Loop Multi-Asta** -- `MultiAuctionLoop(token)` - Loop principale multi-asta - - Scansiona preferiti ogni 5 secondi - - Legge stato tutte le aste - - Seleziona asta con timer più basso - - Gestisce click, reset, limiti - -**3. Scansione e Lettura** -- `ScanFavoriteAuctions(token)` - Trova aste nei preferiti - - Cerca `div[id^="divAsta"]` - - Estrae ID, nome, elementi DOM - - Popola `_monitoredAuctions` - -- `ReadAllAuctionStates(token)` - Legge stato di tutte le aste - - Itera su `_monitoredAuctions` - - Legge prezzo, timer, bidder per ognuna - - Ritorna `List` - -**4. Click Multi-Asta** -- `PerformMultiAuctionClick(auctionId, ...)` - Click su asta specifica - - Trova pulsante tramite `buttonId` - - Doppio click per affidabilità - - Supporta multi-click opzionale - -##### C. Modifiche Metodi Esistenti -- `StartButton_Click()` - Sceglie loop basato su modalità - ```csharp - _automationTask = Task.Run(() => - _isMultiAuctionMode ? MultiAuctionLoop(_cts.Token) - : AutomationLoop(_cts.Token) - ); - ``` - -- `AutomationLoop()` - Aggiunto log "Modalità: Asta Singola" - -### ?? File Creati - -#### 1. `MULTI_AUCTION_GUIDE.md` -Guida dettagliata per utenti: -- ?? Panoramica modalità -- ?? Tutorial step-by-step -- ?? Spiegazione algoritmo priorità -- ?? Descrizione interfaccia -- ? Ottimizzazioni e performance -- ?? Troubleshooting completo - -#### 2. `README.md` -Documentazione completa progetto: -- ? Overview caratteristiche -- ?? Quick start guide -- ?? Guida dettagliata entrambe modalità -- ?? Configurazioni avanzate -- ?? Spiegazione interfaccia -- ?? FAQ e troubleshooting -- ?? Strategie vincenti -- ?? Performance tuning - -#### 3. `IMPLEMENTATION_SUMMARY.md` (questo file) -Riepilogo tecnico modifiche - ---- - -## ?? Flusso Operativo Multi-Asta - -### Inizializzazione -1. Utente clicca "Multi-Asta" -2. `_isMultiAuctionMode = true` -3. `UpdateModeButtons()` ? UI verde su Multi-Asta -4. Navigazione automatica a `https://it.bidoo.com/?tab=FAV` -5. Pannello "Asta Attiva" diventa visibile - -### Loop Principale -``` -??????????????????????????????????????? -? while (!token.IsCancellationRequested) ? -??????????????????????????????????????? - ? -??????????????????????????????????????? -? Ogni 5s: ScanFavoriteAuctions() ? -? - Trova div[id^="divAsta"] ? -? - Estrae metadati (ID, nome, etc.) ? -? - Popola _monitoredAuctions ? -??????????????????????????????????????? - ? -??????????????????????????????????????? -? ReadAllAuctionStates() ? -? - Itera su _monitoredAuctions ? -? - Legge prezzo, timer, bidder ? -? - Ritorna List ? -??????????????????????????????????????? - ? -??????????????????????????????????????? -? Selezione Priorità ? -? auctionStates ? -? .Where(timer > 0 && < 999) ? -? .OrderBy(timer) ? -? .FirstOrDefault() ? -??????????????????????????????????????? - ? -??????????????????????????????????????? -? Aggiorna UI ? -? - UpdateActiveAuctionDisplay() ? -? - SetCurrentPriceText() ? -? - Log focus asta ? -??????????????????????????????????????? - ? -??????????????????????????????????????? -? Rileva Reset ? -? if (timer > lastTimer + 0.5) ? -? ? resetCount++ ? -? ? Log reset + winner ? -??????????????????????????????????????? - ? -??????????????????????????????????????? -? Verifica Condizioni Click ? -? shouldClick = timer in range ? -? && !pauseBids ? -? && prezzo OK ? -??????????????????????????????????????? - ? - shouldClick? - ? ? - SI NO - ? ? - ? ? -??????????? ?????????????? -? Click! ? ? Delay X ms ? -? +1 ? ? Continue ? -??????????? ?????????????? -``` - -### Algoritmo Priorità -```javascript -// Pseudo-codice semplificato -function SelectTargetAuction(auctions) { - let candidates = auctions - .filter(a => a.timer > 0 && a.timer < 999) - .filter(a => a.price >= minPrice && a.price <= maxPrice); - - return candidates.sort((a, b) => a.timer - b.timer)[0]; -} - -// Esempio -Auctions: [ - {name: "Galaxy S25", timer: 7.2}, - {name: "RTX 5080", timer: 1.8}, ? SELEZIONATA (timer più basso) - {name: "MacBook", timer: 4.5} -] -``` - ---- - -## ?? Struttura Dati HTML Bidoo - -### Pagina Preferiti: `https://it.bidoo.com/?tab=FAV` - -#### Container Principale -```html -
-
- -
-
-``` - -#### Singola Asta -```html -
- -
- - Galaxy S25 512GB - - - 29.21 - - -

00:05

- - - username - - - PUNTA -
-
-``` - -#### Elementi Chiave Estratti -| Dato | Selector | ID Pattern | -|------|----------|------------| -| **Container** | `div[id^="divAsta"]` | `divAsta{ID}` | -| **Auction ID** | `data-id` attribute | Numerico | -| **Nome** | `.name` | - | -| **Prezzo** | `span#PrezzoAsta{ID}` | `PrezzoAsta{ID}` | -| **Timer** | `h4#TempoMancante{ID}` | `TempoMancante{ID}` | -| **Bidder** | `span#Vincitore{ID}` | `Vincitore{ID}` | -| **Button** | `a#mehodkbdkbd{ID}` | `mehodkbdkbd{ID}` | - ---- - -## ? Script JavaScript Utilizzati - -### 1. Scansione Aste (`ScanFavoriteAuctions`) -```javascript -(function() { - var auctions = []; - var auctionDivs = document.querySelectorAll('div[id^="divAsta"]'); - - for (var i = 0; i < auctionDivs.length; i++) { - var div = auctionDivs[i]; - var auctionId = div.getAttribute('data-id'); - var nameEl = div.querySelector('.name'); - var name = nameEl ? nameEl.textContent.trim() : 'Asta ' + auctionId; - - auctions.push({ - auctionId: auctionId, - name: name, - priceElementId: 'PrezzoAsta' + auctionId, - timerElementId: 'TempoMancante' + auctionId, - bidderElementId: 'Vincitore' + auctionId, - buttonId: 'mehodkbdkbd' + auctionId - }); - } - - return JSON.stringify({success: true, auctions: auctions}); -})(); -``` - -### 2. Lettura Stato Asta (`ReadAllAuctionStates`) -```javascript -(function() { - var priceEl = document.getElementById('PrezzoAsta12345'); - var timerEl = document.getElementById('TempoMancante12345'); - var bidderEl = document.getElementById('Vincitore12345'); - - var price = priceEl ? priceEl.textContent.trim().replace('€','') : null; - var timer = timerEl ? timerEl.textContent.trim() : null; - var bidder = bidderEl ? bidderEl.textContent.trim() : null; - - // Conversione timer - var timerValue = 999; - if (timer) { - var parts = timer.split(':'); - if (parts.length === 2) { - timerValue = parseInt(parts[0]) * 60 + parseInt(parts[1]); - } else { - var match = timer.match(/(\d+(?:\.\d+)?)/); - if (match) timerValue = parseFloat(match[1]); - } - } - - return JSON.stringify({ - auctionId: '12345', - price: price, - timer: timerValue, - bidder: bidder - }); -})(); -``` - -### 3. Click Asta (`PerformMultiAuctionClick`) -```javascript -(function() { - var btn = document.getElementById('mehodkbdkbd12345'); - if (!btn) return JSON.stringify({success: false}); - - btn.click(); - btn.click(); // doppio click - - return JSON.stringify({success: true}); -})(); -``` - ---- - -## ?? Casi d'Uso Principali - -### Caso 1: Focus su Asta Più Urgente -**Scenario:** -- 3 aste nei preferiti -- Timer diversi: 8s, 2s, 5s - -**Comportamento:** -1. Scansione ? 3 aste trovate -2. Lettura stati ? Timer: [8, 2, 5] -3. **Priorità: Asta con timer 2s** -4. Click quando timer in range (es. 0-1s) -5. Dopo click, ri-valuta ? Focus su timer 5s -6. E così via... - -### Caso 2: Filtro Prezzo -**Configurazione:** -- Min Price: 10€ -- Max Price: 50€ - -**Scenario:** -- Asta A: 8€, timer 1s ? ? Saltata (sotto min) -- Asta B: 35€, timer 2s ? ? Selezionata -- Asta C: 60€, timer 1.5s ? ? Saltata (sopra max) - -### Caso 3: Gestione Reset -**Sequenza:** -1. Timer asta A: 1.2s -2. **Click!** (utente AutoBidder) -3. Timer asta A: 8.0s ? Reset rilevato! -4. Log: "Reset #1 - Winner: AutoBidder" -5. Focus passa ad asta B (timer 3s) - ---- - -## ?? Parametri Configurabili - -### Multi-Asta Specifici -| Parametro | Valore | Descrizione | -|-----------|--------|-------------| -| **Scan Interval** | 5s | Frequenza scansione preferiti | -| **Polling Dinamico** | 20-400ms | Basato su timer asta prioritaria | -| **Cache Bottone** | 500ms | Riutilizzo elemento click | - -### Condivisi (Asta Singola + Multi) -| Parametro | Range | Default | Effetto | -|-----------|-------|---------|---------| -| **Max Clicks** | 0-? | 0 (?) | Limite click totali | -| **Max Resets** | 0-? | 0 (?) | Limite reset | -| **Min Price** | 0-? | 0 (no limit) | Soglia minima prezzo | -| **Max Price** | 0-? | 0 (no limit) | Soglia massima prezzo | -| **Timer Click** | 0-8 | 0 | Secondo del click | -| **Ritardo** | 0-2000ms | 0 | Delay aggiuntivo | -| **Multi-Click** | On/Off | Off | Doppio click a 20ms | - ---- - -## ?? Performance e Ottimizzazioni - -### Polling Adattivo Multi-Asta -```csharp -int pollDelay = targetAuction.Timer < 1.5 ? 20 : - targetAuction.Timer < 2.5 ? 40 : - targetAuction.Timer < 3.5 ? 80 : - targetAuction.Timer < 5.0 ? 150 : - targetAuction.Timer < 8.0 ? 250 : 400; -``` - -**Vantaggi:** -- ? Reattività massima quando necessario (20ms @ <1.5s) -- ?? Risparmio risorse quando non urgente (400ms @ >8s) -- ?? Adattamento automatico in base a situazione - -### Confronto Risorse: Singola WebView vs Multiple Finestre - -| Metodo | Memoria | CPU | Aste Max | Performance | -|--------|---------|-----|----------|-------------| -| **WebView Singola** (Multi-Asta) | ~150MB | 5-10% | 15+ | ????? | -| **Finestre Multiple** (Vecchio) | ~500MB+ | 20-40% | 5-6 | ??? | - -**Risparmio stimato:** ~70% memoria, ~60% CPU - ---- - -## ? Testing e Validazione - -### Test Eseguiti -- ? Build senza errori -- ? Compilazione Release OK -- ? Nessun warning critico -- ? Entrambe modalità funzionanti -- ? Switch modalità senza restart - -### Da Testare (Utente Finale) -- [ ] Scansione preferiti reale -- [ ] Click multi-asta su Bidoo live -- [ ] Performance con 10+ aste -- [ ] Rilevamento reset accurato -- [ ] Limiti prezzo funzionanti - ---- - -## ?? Prossimi Miglioramenti Possibili - -### Funzionalità -- [ ] Modalità "Smart": Auto-switch tra Single/Multi -- [ ] Profili salvabili (configurazioni predefinite) -- [ ] Notifiche audio/visive su evento -- [ ] Statistiche avanzate (vincite, percentuali, etc.) -- [ ] Export log CSV/JSON - -### Ottimizzazioni -- [ ] WebWorkers per script JS parallelo -- [ ] Caching più aggressivo elementi DOM -- [ ] Predizione timer con ML -- [ ] Compressione log in background - -### UI/UX -- [ ] Dark/Light theme toggle -- [ ] Grafici real-time (timer, prezzi) -- [ ] Minimap aste (thumbnail grid) -- [ ] Shortcuts tastiera personalizzabili - ---- - -## ?? Note per Sviluppatori - -### Architettura Codice -``` -MainWindow.xaml.cs -??? Modalità Management -? ??? SingleAuctionButton_Click() -? ??? MultiAuctionButton_Click() -? ??? UpdateModeButtons() -? -??? Loop Automazione -? ??? AutomationLoop() [Single] -? ??? MultiAuctionLoop() [Multi] -? -??? Multi-Asta Core -? ??? ScanFavoriteAuctions() -? ??? ReadAllAuctionStates() -? ??? PerformMultiAuctionClick() -? -??? Utilities - ??? ExecuteScriptWithTimeoutAsync() - ??? RegisterBidder() - ??? Log() - ??? UpdateBiddersGrid() -``` - -### Classi Dati -```csharp -// Permanente (lista monitorata) -class AuctionInfo { - string AuctionId, Name - string PriceElementId, TimerElementId, - BidderElementId, ButtonId - double LastKnownTimer - string LastKnownBidder -} - -// Temporaneo (snapshot stato) -class AuctionState { - string AuctionId, Name - string? Price, Bidder - double Timer - string LastKnownBidder -} -``` - -### Pattern Utilizzati -- **Observer**: UI aggiornata via Dispatcher -- **Strategy**: Modalità Single vs Multi -- **Factory**: Creazione AuctionInfo/State -- **Cache**: Bottoni e timer -- **Async/Await**: Operazioni non-bloccanti - ---- - -## ?? Checklist Implementazione - -### Completato ? -- [x] Aggiunto UI selettore modalità -- [x] Implementato MultiAuctionLoop -- [x] Script scansione preferiti -- [x] Script lettura stato aste -- [x] Script click specifico asta -- [x] Algoritmo priorità timer -- [x] Rilevamento reset per asta -- [x] Tracciamento bidder per asta -- [x] Pannello "Asta Attiva" -- [x] Polling dinamico multi-asta -- [x] Limiti prezzo applicati -- [x] Log dettagliato eventi -- [x] Documentazione completa (README) -- [x] Guida utente (MULTI_AUCTION_GUIDE) -- [x] Build senza errori - -### Non Implementato (Out of Scope) -- ? Gestione errori rete avanzata -- ? Retry automatico su fail -- ? Persistenza configurazione -- ? Statistiche persistenti -- ? Unit tests - ---- - -## ?? Conclusione - -### Obiettivi Raggiunti -? **Modalità Multi-Asta completamente funzionale** -? **Ottimizzazione risorse** (singola WebView) -? **Interfaccia intuitiva** con switch modalità -? **Algoritmo intelligente** di selezione priorità -? **Documentazione completa** per utenti e sviluppatori - -### Risultato Finale -AutoBidder ora supporta: -1. **Asta Singola**: Massima precisione su un prodotto -2. **Multi-Asta**: Monitoraggio simultaneo preferiti con selezione intelligente - -**Sistema pronto per il deploy e testing utente finale!** ?? diff --git a/Mimante/MULTI_AUCTION_GRID_GUIDE.md b/Mimante/MULTI_AUCTION_GRID_GUIDE.md deleted file mode 100644 index 2ce5935..0000000 --- a/Mimante/MULTI_AUCTION_GRID_GUIDE.md +++ /dev/null @@ -1,413 +0,0 @@ -# ?? Guida Griglia Multi-Asta - AutoBidder v2.1 - -## ?? Nuova Interfaccia Multi-Asta - -### Panoramica Modifiche - -La modalità Multi-Asta ora presenta una **griglia in tempo reale** che mostra lo stato di tutte le aste simultaneamente, eliminando la necessità di seguire un'asta alla volta. - ---- - -## ?? Interfaccia Griglia - -### Layout Griglia Aste - -Quando attivi la modalità **Multi-Asta**, vedrai una griglia con queste colonne: - -| Colonna | Descrizione | Esempio | -|---------|-------------|---------| -| **Asta** | Nome del prodotto | "Galaxy S25 512GB" | -| **Timer** | Timer in tempo reale | "2.3s" | -| **Prezzo** | Prezzo corrente | "15.50€" | -| **Vincitore** | Utente che sta vincendo | "user123" | -| **Stato** | Stato asta | ?? Attiva / ?? Pausa / ? Attesa | - -### Esempio Visivo - -``` -??????????????????????????????????????????????????????????????? -? ?? Aste Monitorate Totale: 3 ? -??????????????????????????????????????????????????????????????? -? Asta Timer Prezzo Vincitore Stato ? -? Galaxy S25 512GB 2.3s 15.50€ user123 ?? Attiva ? -? RTX 5080 5.1s 45.20€ user456 ? Attesa ? -? MacBook Pro 8.0s 120.00€ user789 ? Attesa ? -??????????????????????????????????????????????????????????????? -``` - ---- - -## ? Aggiornamenti in Tempo Reale - -### Cosa Vedi Cambiare - -La griglia si aggiorna **automaticamente ogni ciclo di polling** (20-400ms basato sul timer): - -1. **Timer** ? Si aggiorna continuamente mostrando il countdown -2. **Prezzo** ? Cambia quando qualcuno punta -3. **Vincitore** ? Mostra l'utente che ha fatto l'ultima puntata -4. **Stato** ? Indica quale asta è più vicina al click - -### Stati Asta - -- **?? Attiva** ? Asta con timer < 3s (priorità click) -- **? Attesa** ? Asta con timer > 3s (in monitoraggio) -- **?? Pausa** ? Asta messa in pausa manualmente (feature futura) - ---- - -## ?? Come Funziona - -### Strategia Automatica - -1. **Scansione**: Ogni 5 secondi, AutoBidder cerca nuove aste nei preferiti -2. **Monitoraggio**: Tutte le aste vengono monitorate simultaneamente -3. **Priorità**: L'asta con timer più basso diventa ?? Attiva -4. **Click**: AutoBidder punta sull'asta Attiva al momento giusto -5. **Rotazione**: Dopo il click, la priorità si sposta sull'asta successiva - -### Esempio Pratico - -``` -Situazione iniziale: -?? Galaxy S25 Timer: 8.0s ? ? Attesa -?? RTX 5080 Timer: 2.1s ? ?? Attiva (priorità!) -?? MacBook Pro Timer: 5.3s ? ? Attesa - -AutoBidder punta su RTX 5080 a 0-1s - -Dopo il click (RTX resettato a 8s): -?? Galaxy S25 Timer: 7.5s ? ? Attesa -?? RTX 5080 Timer: 8.0s ? ? Attesa (appena resettata) -?? MacBook Pro Timer: 4.8s ? ?? Attiva (nuova priorità!) - -AutoBidder ora punta su MacBook Pro -``` - ---- - -## ?? Gestione Impostazioni - -### Impostazioni Globali (Applicate a Tutte le Aste) - -Le seguenti impostazioni si applicano a **tutte le aste** nella griglia: - -- **Timer Click** ? Tutte le aste cliccano allo stesso secondo -- **Ritardo (ms)** ? Stesso delay per tutte -- **Max Clicks** ? Limite totale su tutte le aste -- **Max Resets** ? Limite totale reset -- **Multi-Click** ? Attivo/disattivo per tutte - -### Limiti Prezzo Intelligenti - -- **Min Price**: Le aste sotto il minimo vengono **saltate** automaticamente -- **Max Price**: Le aste sopra il massimo vengono **saltate** automaticamente - -**Esempio:** -``` -Impostazioni: -- Min Price: 10€ -- Max Price: 100€ - -Aste: -? Galaxy S25 (15€) ? OK, punta -? iPhone 16 (8€) ? Saltata (sotto minimo) -? RTX 5080 (45€) ? OK, punta -? MacBook Pro (150€) ? Saltata (sopra massimo) -``` - ---- - -## ?? Vantaggi Nuova Interfaccia - -### Rispetto alla Versione Precedente - -| Aspetto | Vecchia (v2.0) | Nuova (v2.1) | Miglioramento | -|---------|---------------|-------------|---------------| -| **Visibilità** | Una per volta | Tutte simultanee | ????? | -| **Informazioni** | Solo asta attiva | Tutti i dati in tempo reale | ????? | -| **Controllo** | Automatico | Visibile + automatico | ???? | -| **Comprensione** | Limitata | Completa | ????? | - -### Cosa Puoi Fare Ora - -? **Vedere** lo stato di tutte le aste contemporaneamente -? **Capire** quale asta è prioritaria (?? Attiva) -? **Monitorare** timer, prezzi e vincitori in tempo reale -? **Tracciare** chi punta su quale asta (nel log) -? **Decidere** meglio quali aste aggiungere ai preferiti - ---- - -## ?? Workflow Ottimale - -### Setup Iniziale - -1. **Accedi a Bidoo** tramite AutoBidder -2. **Esplora le aste** e trova quelle interessanti -3. **Aggiungi ai Preferiti** (?) le aste che vuoi monitorare - - Consiglio: Max 5-10 aste per performance ottimali -4. **Torna su AutoBidder** - -### Attivazione Multi-Asta - -1. Clicca **[Multi-Asta]** nel pannello sinistro -2. AutoBidder naviga automaticamente ai preferiti -3. Attendi 5 secondi per la scansione iniziale -4. Vedrai la griglia popolarsi con le aste - -### Configurazione - -1. Imposta **Timer Click** (es: 0 o 1) -2. Imposta **Ritardo** (es: 0-50ms) -3. Configura **limiti prezzo** (opzionale) - - Min Price: Soglia minima - - Max Price: Soglia massima -4. Imposta **Max Clicks** (es: 100-200) - -### Avvio - -1. Clicca **[Avvia]** -2. **Osserva la griglia**: - - Timer si aggiornano in tempo reale - - Stato cambia (? ? ??) quando un'asta diventa prioritaria - - Prezzo e Vincitore cambiano ad ogni puntata -3. **Monitora il Log** per eventi dettagliati -4. **Controlla Elenco Utenti** per vedere chi punta di più - ---- - -## ?? Interpretare la Griglia - -### Colori e Simboli - -- **?? Attiva** ? Verde, asta su cui AutoBidder punterà -- **? Attesa** ? Grigio, asta in monitoraggio -- **?? Pausa** ? Giallo, asta sospesa (feature futura) - -### Timer - -- **< 1s** ? Click imminente -- **1-3s** ? Preparazione click -- **3-8s** ? Monitoraggio normale -- **> 8s** ? Polling lento - -### Prezzo - -- **Verde** ? Entro limiti configurati -- **Rosso** ? Fuori limiti (saltata automaticamente) -- **"-"** ? Dato non disponibile - ---- - -## ?? Troubleshooting - -### La griglia è vuota - -**Possibili cause:** -1. Nessuna asta nei preferiti -2. Pagina preferiti non caricata -3. Scansione non ancora eseguita - -**Soluzioni:** -1. Aggiungi aste ai preferiti su Bidoo (?) -2. Verifica URL: deve essere `https://it.bidoo.com/?tab=FAV` -3. Attendi 5 secondi per scansione automatica -4. Clicca [Aggiorna] se necessario - -### Timer non si aggiornano - -**Causa:** Problemi JavaScript o pagina non risponde - -**Soluzioni:** -1. Clicca [Aggiorna] per ricaricare la pagina -2. Verifica connessione internet -3. Controlla il log per errori - -### AutoBidder punta sull'asta sbagliata - -**Causa:** Algoritmo priorità seleziona timer più basso - -**Soluzioni:** -1. Verifica che i limiti prezzo siano corretti -2. Rimuovi dai preferiti le aste indesiderate -3. Usa Max/Min Price per filtrare automaticamente - -### Troppe aste nella griglia - -**Causa:** Troppi preferiti, performance degradate - -**Soluzioni:** -1. Riduci preferiti a 5-10 aste -2. Rimuovi aste non interessanti -3. Filtra con limiti prezzo - ---- - -## ?? Suggerimenti Pro - -### Selezione Aste Ottimale - -- ? **Preferisci aste simili**: Stesso timer (tutte 8s o 10s) -- ? **Range prezzo ristretto**: Es. 10-50€ invece di 0-500€ -- ? **Prodotti diversi**: Aumenta probabilità vincita -- ? **Evita troppi preferiti**: Max 10 per performance - -### Configurazione Timer - -- **Timer Click = 0**: Massima aggressività, tutte le aste -- **Timer Click = 1**: Bilanciato, tutte le aste -- **Limiti prezzo**: Filtra automaticamente aste indesiderate - -### Monitoraggio Efficace - -1. **Osserva la griglia** per capire dinamica aste -2. **Controlla il log** per vedere su quale asta si clicca -3. **Elenco utenti** per identificare competitor -4. **Adatta strategia** basandoti sui dati - ---- - -## ?? Strategie Avanzate - -### Strategia "Spread" (Massima Copertura) - -``` -Obiettivo: Massimizzare vincite su aste diverse - -Setup: -- Preferiti: 8-10 aste diverse -- Timer Click: 0 -- Min Price: 5€ -- Max Price: 100€ -- Max Clicks: 200 - -Risultato: Click distribuiti su tutte le aste, aumenta probabilità vincita -``` - -### Strategia "Focus" (Range Prezzo) - -``` -Obiettivo: Vincere solo aste convenienti - -Setup: -- Preferiti: 5-6 aste interessanti -- Timer Click: 1 -- Min Price: 10€ -- Max Price: 50€ -- Max Clicks: 100 - -Risultato: Click solo su aste in range prezzo vantaggioso -``` - -### Strategia "Sniper" (Massima Velocità) - -``` -Obiettivo: Vincere asta specifica il più velocemente possibile - -Setup: -- Preferiti: 1 asta target + 2-3 alternative -- Timer Click: 0 -- Ritardo: 0ms -- Multi-Click: ? -- Max Clicks: 150 - -Risultato: Massima reattività sull'asta prioritaria -``` - ---- - -## ?? Statistiche e Metriche - -### Dati Visibili - -**Griglia Multi-Asta:** -- Totale aste monitorate -- Timer in tempo reale per ogni asta -- Prezzo corrente per ogni asta -- Vincitore attuale per ogni asta -- Stato priorità (??/?) - -**Pannello Statistiche (Invariato):** -- Auto-click: Totale click effettuati -- Resets: Totale reset rilevati -- Elenco Utenti: Chi punta e quante volte -- Log: Cronologia eventi dettagliata - -### Informazioni Aggregate - -Nel log vedrai: -``` -?? Ricerca aste nei preferiti... -? Trovate 3 aste nei preferiti -?? Focus su: Galaxy S25 512GB (Timer: 1.8s) -?? Puntata di: user123 su Galaxy S25 512GB -? Click #1 (TuoNome) su Galaxy S25 512GB - Timer: 1.50s -?? Reset #1 su Galaxy S25 512GB - Winner: user123 -?? Focus su: RTX 5080 (Timer: 2.3s) -... -``` - ---- - -## ?? Confronto Modalità - -### Asta Singola vs Multi-Asta (Griglia) - -| Caratteristica | Asta Singola | Multi-Asta Griglia | -|----------------|-------------|-------------------| -| **Aste visibili** | 1 | Tutte simultanee | -| **Info real-time** | Timer, prezzo | Timer, prezzo, vincitore per tutte | -| **Priorità** | Fissa | Dinamica (timer più basso) | -| **Impostazioni** | Per asta | Globali + filtri | -| **Visibilità** | Limitata | Completa | -| **Complessità** | Bassa | Media | -| **Efficacia** | Alta (focus) | Altissima (opportunistica) | - ---- - -## ?? Personalizzazione Futura (v2.2+) - -### Feature in Sviluppo - -- [ ] **Impostazioni per asta**: Config individuali (Timer, limiti) -- [ ] **Pause per asta**: Disattiva singole aste temporaneamente -- [ ] **Click manuale**: Forza click su asta specifica -- [ ] **Priorità custom**: Ordina aste manualmente -- [ ] **Filtri avanzati**: Per categoria, prezzo, timer -- [ ] **Statistiche per asta**: Click, reset, vincite per asta - ---- - -## ?? Supporto - -### Problemi Comuni - -**Q: La griglia non mostra tutte le aste** -A: Attendi 5s per scansione, poi clicca [Aggiorna] - -**Q: Timer troppo veloce, non leggo i dati** -A: Normale, la griglia si aggiorna velocemente. Usa il log per dettagli - -**Q: Voglio disattivare una singola asta** -A: Rimuovila dai preferiti su Bidoo (temporaneamente) - -**Q: Come vedo su quale asta sta cliccando?** -A: Guarda il log, ogni click indica il nome dell'asta - ---- - -## ?? Conclusione - -La **griglia Multi-Asta** porta AutoBidder a un nuovo livello: - -? **Visibilità completa** di tutte le aste -? **Dati in tempo reale** per decisioni informate -? **Gestione automatica** intelligente -? **Log e statistiche** invariati per analisi - -**Sperimenta, osserva la griglia, adatta la strategia e vinci di più!** ?? - ---- - -*AutoBidder v2.1 - Grid-Based Multi-Auction Monitoring* diff --git a/Mimante/MULTI_AUCTION_GUIDE.md b/Mimante/MULTI_AUCTION_GUIDE.md deleted file mode 100644 index 2af4a71..0000000 --- a/Mimante/MULTI_AUCTION_GUIDE.md +++ /dev/null @@ -1,214 +0,0 @@ -# ?? Guida Multi-Asta AutoBidder - -## ?? Panoramica - -AutoBidder ora supporta **due modalità operative**: - -### ?? Modalità Asta Singola -- Monitora e punta su **una singola asta** -- Comportamento classico, ottimizzato per massima precisione -- Ideale per focus su un prodotto specifico - -### ?? Modalità Multi-Asta (NUOVO!) -- Monitora **tutte le aste nei preferiti** contemporaneamente -- Punta automaticamente sull'asta più vicina al momento del click -- **Ottimizza le risorse** usando una sola WebView invece di finestre multiple -- Perfetto per massimizzare le opportunità di vincita - ---- - -## ?? Come Usare la Modalità Multi-Asta - -### 1. Preparazione -1. Accedi a **Bidoo** tramite AutoBidder -2. Aggiungi ai **Preferiti** tutte le aste che vuoi monitorare - - Clicca sulla stella ? nelle aste desiderate -3. Torna su AutoBidder - -### 2. Attivazione -1. Clicca sul pulsante **"Multi-Asta"** nel pannello sinistro - - Il pulsante diventerà verde - - Il pannello "Asta Attiva" apparirà sotto le statistiche - - AutoBidder navigherà automaticamente a `https://it.bidoo.com/?tab=FAV` - -### 3. Configurazione -- Imposta i **parametri come al solito**: - - Max Clicks - - Max Resets - - Min/Max Price - - Timer Click - - Ritardo (ms) - - Multi-Click (opzionale) - -### 4. Avvio -1. Clicca su **"Avvia"** -2. AutoBidder eseguirà: - - ? Scansione di tutte le aste nei preferiti (ogni 5 secondi) - - ? Monitoraggio real-time dei timer di ogni asta - - ? Selezione automatica dell'asta più vicina al momento del click - - ? Click automatico sull'asta prioritaria - ---- - -## ?? Funzionamento Intelligente - -### Algoritmo di Priorità -AutoBidder analizza **tutte le aste monitorate** e seleziona quella con: -- ?? **Timer più basso** (più vicina al momento del click) -- ? **Prezzo entro i limiti** configurati (se impostati) -- ?? **Stato attivo** (non venduta, non chiusa) - -### Esempio Pratico -``` -Aste nei preferiti: -?? Galaxy S25 512GB ? Timer: 7.2s ? ? Troppo lontano -?? RTX 5080 ? Timer: 1.8s ? ? SELEZIONATA! -?? Galaxy S25 Ultra ? Timer: 4.5s ? ? Non prioritaria - -? AutoBidder punta su "RTX 5080" (timer più basso) -``` - ---- - -## ?? Interfaccia Pannello Multi-Asta - -### Indicatori Visivi -- **Asta Attiva**: Mostra il nome dell'asta su cui AutoBidder sta puntando -- **Aste monitorate**: Contatore delle aste totali nei preferiti -- **Prezzo corrente**: Prezzo dell'asta attiva corrente -- **Log dettagliato**: Eventi di ogni asta con nome specifico - -### Messaggi Log -``` -?? Ricerca aste nei preferiti... -? Trovate 3 aste nei preferiti -?? Focus su: Galaxy S25 512GB (Timer: 1.8s) -?? Puntata di: utente123 su Galaxy S25 512GB -? Click #1 (TuoNome) su Galaxy S25 512GB - Timer: 1.50s -?? Reset #1 su Galaxy S25 512GB - Winner: utente123 -``` - ---- - -## ? Ottimizzazioni e Performance - -### Vantaggi Multi-Asta -- ?? **Una sola WebView** invece di finestre multiple -- ?? **Riduzione uso memoria** (~70% rispetto a finestre separate) -- ? **Polling dinamico** basato sul timer più urgente -- ?? **Scansione periodica** per rilevare nuove aste - -### Polling Intelligente -- Timer < 1.5s ? Polling ogni **20ms** (ultra-reattivo) -- Timer < 2.5s ? Polling ogni **40ms** (molto veloce) -- Timer < 3.5s ? Polling ogni **80ms** (veloce) -- Timer < 5.0s ? Polling ogni **150ms** (normale) -- Timer > 8.0s ? Polling ogni **400ms** (risparmio risorse) - ---- - -## ?? Impostazioni e Limiti - -### Funzionano in Multi-Asta -? Max Clicks (globale su tutte le aste) -? Max Resets (globale) -? Min/Max Price (applicate a ogni asta) -? Timer Click (0-8 secondi) -? Ritardo click (ms) -? Multi-Click -? Pausa/Riprendi - -### Strategia Prezzi -- **Min Price**: AutoBidder **non punterà** su aste sotto il minimo -- **Max Price**: AutoBidder **non punterà** su aste sopra il massimo -- Se **nessuna asta** rispetta i limiti, AutoBidder aspetta - ---- - -## ?? Risoluzione Problemi - -### "Nessuna asta trovata nei preferiti" -- ? Verifica di essere sulla pagina `https://it.bidoo.com/?tab=FAV` -- ? Assicurati di aver aggiunto aste ai preferiti (stella ?) -- ? Ricarica la pagina (pulsante "Aggiorna") - -### "AutoBidder non punta" -- ? Controlla i limiti Min/Max Price -- ? Verifica che Timer Click sia impostato correttamente (0-8) -- ? Assicurati che "Pausa" non sia attiva -- ? Controlla il log per messaggi "Click bloccato" - -### Performance degradate -- ? Riduci il numero di aste nei preferiti (< 10 ideale) -- ? Chiudi altre applicazioni pesanti -- ? Usa "Pulisci" sul log periodicamente - ---- - -## ?? Asta Singola vs Multi-Asta - -| Caratteristica | Asta Singola | Multi-Asta | -|---------------|-------------|------------| -| **Aste monitorate** | 1 | Illimitate (preferiti) | -| **Uso memoria** | Basso | Medio | -| **Precisione click** | Massima | Alta | -| **Flessibilità** | Focus | Opportunistica | -| **Configurazione** | Semplice | Automatica | -| **Ideale per** | Prodotto specifico | Massimizzare vincite | - ---- - -## ?? Suggerimenti Pro - -### Strategia Ottimale -1. **Seleziona aste simili** nei preferiti (stesso timer, stessa categoria) -2. **Imposta Min/Max Price** per filtrare opportunità -3. **Usa Timer Click = 0-1** per massima aggressività -4. **Attiva Multi-Click** se la connessione è instabile - -### Best Practices -- ?? **Non eccedere 10-15 aste** nei preferiti (performance) -- ?? **Preferisci aste con timer simili** (8s o 10s) -- ?? **Imposta limiti prezzo realistici** -- ?? **Ricarica periodicamente** la pagina preferiti (ogni 2-3 minuti) - ---- - -## ?? Sicurezza e Conformità - -### Rispetto dei Limiti Bidoo -- ? AutoBidder **non aggira** limiti di Bidoo -- ? Rispetta vincoli "1 vincita ogni 30 giorni" -- ? Non modifica comportamento del sito -- ? Opera solo tramite **interfaccia ufficiale** - -### Privacy -- ?? Nessun dato inviato esternamente -- ?? Funzionamento 100% locale -- ?? Nessun tracciamento o telemetria - ---- - -## ?? Registro Modifiche - -### v2.0 - Multi-Asta Release -- ? Nuova modalità Multi-Asta -- ? Monitoraggio simultaneo aste preferiti -- ? Selezione intelligente asta prioritaria -- ? Pannello "Asta Attiva" dinamico -- ? Ottimizzazione risorse (singola WebView) -- ? Log dettagliato per asta -- ? Rilevamento automatico reset per asta -- ? Tracciamento bidder per asta - ---- - -## ?? Supporto - -Per problemi o domande: -1. Controlla questa guida -2. Verifica i log di AutoBidder -3. Riavvia l'applicazione -4. Prova prima in modalità Asta Singola - -**Buone aste! ??** diff --git a/Mimante/PROJECT_SUMMARY.md b/Mimante/PROJECT_SUMMARY.md deleted file mode 100644 index e442688..0000000 --- a/Mimante/PROJECT_SUMMARY.md +++ /dev/null @@ -1,417 +0,0 @@ -# ? Implementazione Multi-Asta - Riepilogo Finale - -## ?? Implementazione Completata con Successo! - -Tutte le modifiche richieste sono state implementate e testate. Il sistema è pronto per l'uso. - ---- - -## ?? Cosa è Stato Fatto - -### 1. ? Nuova Modalità Multi-Asta -- **Modalità operativa aggiuntiva** che monitora tutte le aste nei preferiti -- **Selezione intelligente** dell'asta più vicina al momento del click -- **Ottimizzazione risorse** usando una sola WebView invece di finestre multiple -- **Gestione automatica** di tutte le funzionalità (reset, bidder, limiti) - -### 2. ?? Interfaccia Utente Aggiornata -- Pulsanti di selezione modalità: `[Asta Singola]` / `[Multi-Asta]` -- Pannello "Asta Attiva" (visibile solo in Multi-Asta) -- Contatore "Aste monitorate" -- Indicatori visuali per modalità selezionata - -### 3. ?? Funzionalità Principali Multi-Asta - -#### Scansione Automatica -- Rileva tutte le aste nella pagina preferiti (`https://it.bidoo.com/?tab=FAV`) -- Estrae metadati: ID, nome, elementi DOM (prezzo, timer, bidder, pulsante) -- Aggiorna lista ogni 5 secondi - -#### Selezione Prioritaria -``` -Algoritmo: -1. Leggi timer di TUTTE le aste -2. Filtra per limiti prezzo (se impostati) -3. Seleziona asta con timer più basso -4. Clicca quando timer nel range configurato -``` - -#### Gestione Intelligente -- **Reset detection** per ogni asta singolarmente -- **Bidder tracking** per asta specifica -- **Limiti globali** (Max Clicks, Max Resets, Min/Max Price) -- **Log dettagliato** con nome asta per ogni evento - -### 4. ?? Modifiche Tecniche - -#### File Modificati -- **`MainWindow.xaml`**: Layout aggiornato con nuovi controlli -- **`MainWindow.xaml.cs`**: Logica multi-asta implementata - -#### Nuovi Metodi -- `MultiAuctionLoop()` - Loop principale multi-asta -- `ScanFavoriteAuctions()` - Scansiona preferiti -- `ReadAllAuctionStates()` - Legge stati aste -- `PerformMultiAuctionClick()` - Click su asta specifica -- `SingleAuctionButton_Click()` / `MultiAuctionButton_Click()` -- `UpdateModeButtons()` / `UpdateActiveAuctionDisplay()` - -#### Nuove Classi -```csharp -class AuctionInfo { - // Metadati permanenti asta - string AuctionId, Name - string PriceElementId, TimerElementId, - BidderElementId, ButtonId - double LastKnownTimer - string LastKnownBidder -} - -class AuctionState { - // Snapshot temporaneo stato asta - string AuctionId, Name - string? Price, Bidder - double Timer - string LastKnownBidder -} -``` - -### 5. ?? Documentazione Completa - -#### File Creati -1. **`README.md`** (11.5 KB) - - Documentazione completa progetto - - Guide per entrambe le modalità - - FAQ e troubleshooting - - Strategie vincenti - -2. **`MULTI_AUCTION_GUIDE.md`** (6.5 KB) - - Guida dettagliata Multi-Asta - - Tutorial passo-passo - - Spiegazione algoritmo - - Best practices - -3. **`QUICK_REFERENCE.md`** (6.8 KB) - - Carta di riferimento rapido - - Tabelle impostazioni - - Scorciatoie e tips - - Troubleshooting rapido - -4. **`IMPLEMENTATION_SUMMARY.md`** (16 KB) - - Riepilogo tecnico completo - - Diagrammi flusso - - Dettagli architettura - - Script JavaScript usati - -5. **`CHANGELOG.md`** (7.4 KB) - - Cronologia modifiche - - Note versione 2.0 - - Roadmap futura - -6. **`PROJECT_SUMMARY.md`** (questo file) - - Riepilogo finale - - Istruzioni utilizzo - ---- - -## ?? Come Usare la Nuova Funzionalità - -### Modalità Asta Singola (Come Prima) -1. Naviga all'asta su Bidoo -2. Configura parametri -3. Clicca **[Avvia]** -4. ? Funziona esattamente come prima - -### Modalità Multi-Asta (NUOVO!) - -#### Setup Iniziale -1. **Accedi a Bidoo** tramite AutoBidder -2. **Aggiungi aste ai Preferiti**: - - Naviga alle aste desiderate - - Clicca sulla stella ? per aggiungere ai preferiti -3. **Torna su AutoBidder** - -#### Attivazione -1. Clicca **[Multi-Asta]** nel pannello sinistro - - Il pulsante diventerà verde - - AutoBidder naviga automaticamente a `https://it.bidoo.com/?tab=FAV` - - Il pannello "Asta Attiva" apparirà - -2. **Configura parametri** (come al solito): - - Timer Click (es: 0 o 1) - - Ritardo (es: 0-50ms) - - Max Clicks (es: 100) - - Min/Max Price (opzionale) - -3. Clicca **[Avvia]** - -#### Cosa Succede -- ? AutoBidder scansiona tutti i preferiti ogni 5s -- ? Legge timer di ogni asta in tempo reale -- ? Seleziona automaticamente l'asta più vicina al click -- ? Punta sull'asta prioritaria al momento giusto -- ? Dopo il click, ri-valuta e passa alla prossima asta urgente - -#### Esempio Pratico -``` -Preferiti: -?? Galaxy S25 512GB (Timer: 8.3s) ? Aspetta -?? RTX 5080 (Timer: 1.2s) ? PUNTA! ? -?? MacBook Pro (Timer: 5.7s) ? Aspetta - -AutoBidder: -? Focus su "RTX 5080" -? Click quando timer = 0-1s (basato su config) -? Dopo click, ri-scansiona -? Focus passa a "MacBook Pro" (ora timer più basso) -? E così via... -``` - ---- - -## ?? Configurazioni Consigliate - -### Multi-Asta Aggressiva (Max Vincite) -``` -Modalità: Multi-Asta -Timer Click: 0 -Ritardo: 0ms -Multi-Click: ? Attivo -Max Clicks: 150-200 -Min Price: 5€ -Max Price: 100€ -Preferiti: 5-10 aste -``` - -### Multi-Asta Conservativa (Risparmio Click) -``` -Modalità: Multi-Asta -Timer Click: 1 -Ritardo: 100ms -Multi-Click: ? Disattivo -Max Clicks: 50 -Min Price: 10€ -Max Price: 50€ -Preferiti: 3-5 aste -``` - -### Asta Singola Velocissima -``` -Modalità: Asta Singola -Timer Click: 0 -Ritardo: 0ms -Multi-Click: ? Attivo -Max Clicks: 100 -``` - ---- - -## ?? Vantaggi Multi-Asta - -### Rispetto a Finestre Multiple -- **?? Memoria**: Risparmio ~70% (150MB vs 500MB+) -- **? CPU**: Risparmio ~60% (8-12% vs 20-40%) -- **?? Gestione**: Automatica invece di manuale -- **?? Efficienza**: Una configurazione per tutte le aste - -### Rispetto a Modalità Singola -- **?? Opportunità**: Monitora N aste invece di 1 -- **?? Intelligenza**: Selezione automatica asta urgente -- **?? Tempismo**: Click sempre sull'asta più vicina -- **?? Filtri**: Min/Max price applicati automaticamente - ---- - -## ?? Indicatori e Log - -### Pannello "Asta Attiva" (Solo Multi-Asta) -``` -??????????????????????????? -? Asta Attiva: ? -? Galaxy S25 512GB ? ? Nome asta corrente -? ? -? Aste monitorate: 3 ? ? Totale preferiti -??????????????????????????? -``` - -### Log Dettagliato -``` -?? Ricerca aste nei preferiti... -? Trovate 3 aste nei preferiti -?? Focus su: Galaxy S25 512GB (Timer: 1.8s) -?? Puntata di: utente123 su Galaxy S25 512GB -? Click #1 (TuoNome) su Galaxy S25 512GB - Timer: 1.50s -?? Reset #1 su Galaxy S25 512GB - Winner: utente123 -?? Focus su: RTX 5080 (Timer: 2.1s) -... -``` - ---- - -## ?? Note Importanti - -### Performance Ottimali -- **Max 10-15 aste** nei preferiti (raccomandato) -- **Ricarica pagina** preferiti ogni 2-3 minuti -- **Pulisci log** periodicamente (pulsante [Pulisci]) -- **Chiudi app pesanti** durante l'uso - -### Limiti e Comportamenti -- **Max Clicks**: Globale su tutte le aste -- **Max Resets**: Globale, conta reset di qualsiasi asta -- **Min/Max Price**: Applicati a ogni asta singolarmente -- **Timer Click**: Stesso valore per tutte le aste -- **Pausa**: Sospende puntate su TUTTE le aste - -### Modalità Compatibili -- ? **Asta Singola**: Funziona esattamente come prima -- ? **Multi-Asta**: Nuova, completamente indipendente -- ? **Switch**: Puoi passare da una all'altra senza restart -- ? **Configurazioni**: Parametri condivisi tra modalità - ---- - -## ?? Troubleshooting Rapido - -### "Nessuna asta trovata nei preferiti" -**Soluzione:** -1. Verifica di essere su `https://it.bidoo.com/?tab=FAV` -2. Assicurati di aver aggiunto aste ai preferiti (?) -3. Ricarica la pagina ([Aggiorna]) - -### "AutoBidder non punta in Multi-Asta" -**Controlla:** -1. **Aste monitorate > 0** (pannello "Asta Attiva") -2. **Timer Click** impostato correttamente (0-8) -3. **Min/Max Price** non troppo restrittivi -4. **Pausa** disattivata (pulsante deve dire "Pausa") -5. **Log** per messaggi "Click bloccato" - -### "Performance basse con Multi-Asta" -**Soluzioni:** -1. Riduci preferiti a 5-10 aste -2. Pulisci log (pulsante [Pulisci]) -3. Chiudi altre applicazioni pesanti -4. Riavvia AutoBidder - ---- - -## ?? Build e Deploy - -### Build Completato ? -``` -? Compilazione senza errori -? Nessun warning critico -? Tutti i test passati -? Documentazione completa -``` - -### File Deliverables -``` -AutoBidder/ -??? AutoBidder.exe # Eseguibile principale -??? MainWindow.xaml # UI modificata -??? MainWindow.xaml.cs # Logica implementata -??? README.md # Documentazione principale -??? MULTI_AUCTION_GUIDE.md # Guida Multi-Asta -??? QUICK_REFERENCE.md # Riferimento rapido -??? IMPLEMENTATION_SUMMARY.md # Dettagli tecnici -??? CHANGELOG.md # Cronologia modifiche -??? PROJECT_SUMMARY.md # Questo file -``` - ---- - -## ?? Prossimi Passi - -### Testing Utente -1. ? Testa modalità Asta Singola (verifica retrocompatibilità) -2. ? Testa modalità Multi-Asta con 2-3 preferiti -3. ? Verifica limiti prezzo funzionanti -4. ? Controlla tracciamento bidder e reset -5. ? Testa performance con 10+ preferiti - -### Raccolta Feedback -- Nota eventuali bug o comportamenti inattesi -- Suggerisci miglioramenti UI/UX -- Proponi nuove funzionalità - -### Versione Futura (v2.1+) -- Persistenza configurazioni -- Notifiche audio/visive -- Statistiche avanzate -- Profili salvabili - ---- - -## ?? Supporto - -### Documentazione -- **Panoramica**: `README.md` -- **Multi-Asta**: `MULTI_AUCTION_GUIDE.md` -- **Riferimento**: `QUICK_REFERENCE.md` -- **Tecnico**: `IMPLEMENTATION_SUMMARY.md` - -### In Caso di Problemi -1. Consulta `QUICK_REFERENCE.md` per soluzioni rapide -2. Controlla `CHANGELOG.md` per bug noti -3. Leggi `MULTI_AUCTION_GUIDE.md` per guide dettagliate - ---- - -## ? Checklist Finale - -### Implementazione -- [x] Modalità Multi-Asta completa -- [x] UI aggiornata con selettore -- [x] Pannello "Asta Attiva" -- [x] Script scansione preferiti -- [x] Algoritmo priorità timer -- [x] Click specifico per asta -- [x] Rilevamento reset per asta -- [x] Tracciamento bidder per asta -- [x] Limiti globali applicati -- [x] Log dettagliato eventi - -### Documentazione -- [x] README.md completo -- [x] Guida Multi-Asta dettagliata -- [x] Quick Reference Card -- [x] Implementation Summary -- [x] Changelog aggiornato -- [x] Project Summary - -### Testing -- [x] Build senza errori -- [x] Compilazione Release OK -- [x] Modalità Singola retrocompatibile -- [x] Modalità Multi-Asta funzionante -- [x] Switch modalità senza restart - ---- - -## ?? Conclusione - -**L'implementazione della modalità Multi-Asta è completa e funzionante!** - -Il sistema ora supporta: -- ? **Asta Singola**: Focus massimo su un prodotto specifico -- ? **Multi-Asta**: Monitoraggio intelligente di tutti i preferiti - -Tutte le funzionalità richieste sono state implementate: -- ? Scansione automatica preferiti -- ? Selezione intelligente asta prioritaria -- ? Ottimizzazione risorse (singola WebView) -- ? Gestione completa limiti e reset -- ? Documentazione esaustiva - -**Il progetto è pronto per l'uso e il testing finale!** ???? - ---- - -**Buone aste e buona fortuna!** ?? - ---- - -*AutoBidder v2.0 - Multi-Auction Release* -*Developed with ?? for better Bidoo automation* diff --git a/Mimante/QUICK_REFERENCE.md b/Mimante/QUICK_REFERENCE.md deleted file mode 100644 index 9e2fe2e..0000000 --- a/Mimante/QUICK_REFERENCE.md +++ /dev/null @@ -1,296 +0,0 @@ -# ?? AutoBidder - Quick Reference Card - -## ?? Avvio Rapido - -### Modalità Asta Singola -1. Naviga all'asta su Bidoo -2. Imposta **Timer Click** (es: 0 o 1) -3. Clicca **[Avvia]** -4. ? Done! - -### Modalità Multi-Asta -1. Aggiungi aste ai **Preferiti** su Bidoo (?) -2. Clicca **[Multi-Asta]** in AutoBidder -3. Imposta **Timer Click** (es: 0 o 1) -4. Clicca **[Avvia]** -5. ? AutoBidder gestisce tutto! - ---- - -## ?? Impostazioni Essenziali - -| Parametro | Valore Consigliato | Descrizione | -|-----------|-------------------|-------------| -| **Timer Click** | 0 o 1 | Secondo del timer per click (0 = max velocità) | -| **Ritardo** | 0-50ms | Delay aggiuntivo (0 = più veloce) | -| **Max Clicks** | 50-100 | Limite click (0 = illimitato) | -| **Max Resets** | 10-20 | Limite reset (0 = illimitato) | -| **Min Price** | 5-10€ | Prezzo minimo (0 = no limite) | -| **Max Price** | 50-100€ | Prezzo massimo (0 = no limite) | - ---- - -## ??? Controlli Principali - -### Pulsanti -- **[Avvia]** ? Inizia automazione -- **[Pausa]** ? Sospende puntate (monitora senza puntare) -- **[Riprendi]** ? Riprende puntate -- **[Stop]** ? Ferma tutto - -### Modalità -- **[Asta Singola]** ? Focus su una sola asta -- **[Multi-Asta]** ? Monitora tutti i preferiti - -### Opzioni -- **? Multi-Click** ? Doppio click per affidabilità - ---- - -## ?? Indicatori UI - -### Statistiche -- **Auto-click: N** ? Puntate effettuate -- **Resets: N** ? Reset rilevati -- **Prezzo corrente: X€** ? Prezzo asta attiva - -### Multi-Asta (solo modalità Multi) -- **Asta Attiva** ? Nome asta su cui si punta -- **Aste monitorate** ? Numero preferiti trovati - -### Elenco Utenti -- Mostra chi punta e quante volte -- **[Pulisci]** ? Azzera lista - -### Log -- Cronologia eventi dettagliata -- **[Pulisci]** ? Svuota log (migliora performance) - ---- - -## ?? Strategie Rapide - -### Velocità Massima (Aggressiva) -``` -Timer Click: 0 -Ritardo: 0ms -Multi-Click: ? -Max Clicks: 100 -``` - -### Risparmio Click (Conservativa) -``` -Timer Click: 1 -Ritardo: 100ms -Multi-Click: ? -Max Clicks: 30 -``` - -### Selezione Prezzo (Intelligente) -``` -Timer Click: 0 -Min Price: 10€ -Max Price: 50€ -Multi-Click: ? -``` - -### Multi-Asta Ottimale -``` -Modalità: Multi-Asta -Timer Click: 0 o 1 -Ritardo: 0-50ms -Min/Max Price: A piacere -Preferiti: 5-10 aste -``` - ---- - -## ? Scorciatoie - -- **Enter** nella barra indirizzo ? Naviga -- **[Pulisci]** log ? Migliora performance -- **Click destro** su link asta ? Nuova finestra -- **[Aggiorna]** pagina ? Ricarica se problemi - ---- - -## ?? Risoluzione Problemi Rapida - -### AutoBidder non clicca -? Verifica **Timer Click** (0-8) -? Controlla **Min/Max Price** -? Disattiva **Pausa** -? Ricarica pagina - -### Click troppo lento -? Riduci **Ritardo** a 0ms -? Timer Click = **0** -? Disattiva **Multi-Click** - -### Multi-Asta: nessuna asta trovata -? Vai a `https://it.bidoo.com/?tab=FAV` -? Aggiungi aste ai **Preferiti** (?) -? Clicca **[Aggiorna]** - -### Lag/Performance basse -? Clicca **[Pulisci]** sul log -? Riduci preferiti (< 10) -? Chiudi altre app - ---- - -## ?? Comandi Browser - -### Barra Navigazione -- **[Indietro]** ? Pagina precedente -- **[Aggiorna]** ? Ricarica corrente -- **Indirizzo** ? Inserisci URL Bidoo -- **[Vai]** ? Naviga a URL - -### Domini Consentiti -? `bidoo.com` e sottodomini -? `it.bidoo.com` -? Altri siti bloccati - ---- - -## ?? Tips Pro - -### Asta Singola -- Usa **Timer Click = 0** per aste competitive -- Attiva **Multi-Click** se hai lag -- Imposta **Max Resets** per evitare loop infiniti - -### Multi-Asta -- Seleziona aste con **timer simili** (tutte 8s o 10s) -- Imposta **Min/Max Price** per filtrare -- Max **10-15 preferiti** per performance ottimali -- Ricarica pagina ogni **2-3 minuti** - -### Generale -- Monitora il **Log** per capire cosa succede -- Usa **Pausa** invece di Stop per analizzare -- Pulisci **Elenco Utenti** periodicamente -- Testa configurazioni in aste **non competitive** prima - ---- - -## ?? Limiti Importanti - -### Max Clicks -- **0** = Illimitato (attenzione al consumo!) -- **30-50** = Conservativo -- **100-200** = Aggressivo - -### Max Resets -- **0** = Illimitato (può andare avanti ore) -- **5-10** = Sicuro -- **20-30** = Persistente - -### Timer Click -- **0** = 0.0-0.9s (massima velocità) -- **1** = 1.0-1.9s (bilanciato) -- **2+** = Per timer lunghi (10s, 15s) - -### Ritardo -- **0ms** = Nessun delay (max velocità) -- **50-100ms** = Raccomandato -- **500+ms** = Troppo lento, evitare - ---- - -## ?? Colori Interfaccia - -### Pulsanti -- ?? **Verde** = Attivo/Selezionato -- ?? **Rosso** = Stop (disabilitato finché non avviato) -- ?? **Giallo** = Pausa/Riprendi -- ?? **Blu** = Azioni secondarie (Aggiorna, Pulisci) -- ? **Grigio** = Disattivo - -### Indicatori -- ?? **Verde** = Prezzo corrente (valore positivo) -- ? **Bianco** = Testo normale -- ?? **Blu chiaro** = Link/Interattivo -- ?? **Rosso** = Errore/Warning (nel log) - ---- - -## ?? Checklist Pre-Avvio - -### Asta Singola -- [ ] Navigato all'asta desiderata -- [ ] **Timer Click** impostato (0-8) -- [ ] **Ritardo** configurato (0-2000ms) -- [ ] **Max Clicks** impostato (o 0 per illimitato) -- [ ] **Min/Max Price** configurati (opzionale) -- [ ] WebView caricato correttamente - -### Multi-Asta -- [ ] Aste aggiunte ai **Preferiti** su Bidoo -- [ ] Cliccato **[Multi-Asta]** in AutoBidder -- [ ] Navigato a `https://it.bidoo.com/?tab=FAV` -- [ ] **Aste monitorate > 0** (vedi pannello) -- [ ] **Timer Click** impostato (0-8) -- [ ] **Limiti prezzo** configurati (opzionale) - ---- - -## ?? Supporto Emergenza - -### Crash/Freeze -1. Chiudi AutoBidder -2. Riavvia -3. Ricarica pagina Bidoo -4. Riconfigura impostazioni - -### Click non funzionanti -1. **[Stop]** ? **[Aggiorna]** pagina -2. Attendi caricamento completo -3. **[Avvia]** di nuovo - -### Troppi click consumati -1. **[Stop]** immediatamente -2. Aumenta **Timer Click** (es. 0 ? 1) -3. Aumenta **Ritardo** (es. 0 ? 100ms) -4. Riduci **Max Clicks** - ---- - -## ?? Info Rapide - -**Versione**: 2.0 (Multi-Asta) -**Framework**: .NET 8 WPF -**Browser**: Edge WebView2 -**Piattaforma**: Windows 10/11 - -**Domini supportati**: -- bidoo.com -- it.bidoo.com -- www.bidoo.com - -**Funzionalità principali**: -- ? Asta Singola (focus) -- ? Multi-Asta (preferiti) -- ? Limiti click/reset/prezzo -- ? Multi-click opzionale -- ? Polling dinamico ultra-veloce -- ? Tracciamento utenti -- ? Log dettagliato - ---- - -**Buone aste! ????** - ---- - -## ?? Documentazione Completa - -Per guide dettagliate, consulta: -- `README.md` ? Documentazione completa -- `MULTI_AUCTION_GUIDE.md` ? Guida Multi-Asta -- `IMPLEMENTATION_SUMMARY.md` ? Dettagli tecnici - ---- - -**Ultima modifica**: 2024 - AutoBidder Team diff --git a/Mimante/README.md b/Mimante/README.md deleted file mode 100644 index 1a65530..0000000 --- a/Mimante/README.md +++ /dev/null @@ -1,439 +0,0 @@ -# ?? AutoBidder - Bidoo Auto Bid Assistant - -**AutoBidder** è un'applicazione WPF (.NET 8) per Windows che automatizza le puntate su **Bidoo.com** con precisione al millisecondo. - -## ? Caratteristiche Principali - -### ?? Due Modalità Operative - -#### ?? Modalità Asta Singola -- Focus su **una singola asta** -- Massima precisione e velocità -- Ideale per prodotti specifici - -#### ?? Modalità Multi-Asta (NUOVO!) -- Monitora **tutte le aste nei preferiti** -- Punta automaticamente sull'asta più vicina -- Ottimizza risorse con una sola WebView -- Massimizza opportunità di vincita - -### ? Performance Ultra-Reattive -- **Polling dinamico**: 20-400ms basato sul timer -- **Lettura diretta** variabili JavaScript Bidoo -- **Multi-click** opzionale per affidabilità -- **Cache intelligente** per velocità massima - -### ??? Controlli Avanzati -- **Max Clicks**: Limite puntate totali -- **Max Resets**: Limite reset asta -- **Min/Max Price**: Range prezzo automatico -- **Timer Click**: Secondo esatto del click (0-8s) -- **Ritardo**: Delay aggiuntivo (0-2000ms) -- **Pausa/Riprendi**: Controllo in tempo reale - -### ?? Statistiche Real-Time -- Counter click e reset -- Prezzo corrente -- Elenco puntatori con timestamp -- Log dettagliato operazioni -- Asta attiva (Multi-Asta) - ---- - -## ?? Quick Start - -### Requisiti -- Windows 10/11 -- .NET 8 Runtime -- Microsoft Edge WebView2 (installato automaticamente) - -### Installazione -1. Scarica l'eseguibile -2. Esegui `AutoBidder.exe` -3. Accedi a Bidoo tramite il browser integrato - -### Primo Utilizzo - Asta Singola -1. Naviga all'asta desiderata su Bidoo -2. Configura i parametri (Timer Click, limiti, etc.) -3. Clicca **"Avvia"** -4. AutoBidder punterà automaticamente - -### Primo Utilizzo - Multi-Asta -1. Aggiungi aste ai **Preferiti** su Bidoo (?) -2. Clicca **"Multi-Asta"** in AutoBidder -3. Configura i parametri -4. Clicca **"Avvia"** -5. AutoBidder gestirà tutte le aste automaticamente - ---- - -## ?? Guida Completa - -### Modalità Asta Singola - -#### Configurazione Base -``` -Timer Click: 0-8 (secondo del timer per il click) -Ritardo: 0-2000ms (delay aggiuntivo) -Max Clicks: 0 = illimitato -Max Resets: 0 = illimitato -Min Price: 0 = nessun limite -Max Price: 0 = nessun limite -``` - -#### Esempio Configurazione -- **Timer Click = 1**: Clicca quando il timer è tra 1.0-1.9s -- **Ritardo = 100ms**: Attende 100ms dopo il trigger -- **Max Clicks = 50**: Ferma dopo 50 puntate -- **Min Price = 10**: Non punta se prezzo < 10€ -- **Max Price = 100**: Non punta se prezzo > 100€ - -### Modalità Multi-Asta - -#### Come Funziona -1. **Scansione**: Rileva tutte le aste nei preferiti ogni 5s -2. **Priorità**: Seleziona asta con timer più basso -3. **Click**: Punta sull'asta prioritaria al momento giusto -4. **Rotazione**: Continua su altre aste quando necessario - -#### Algoritmo di Priorità -``` -Per ogni ciclo: - 1. Leggi timer di TUTTE le aste - 2. Filtra per limiti prezzo (se impostati) - 3. Seleziona asta con timer più basso - 4. Clicca se timer nel range configurato -``` - -#### Esempio Scenario -``` -Preferiti: -?? iPhone 16 Pro (Timer: 8.3s) ? Aspetta -?? Galaxy S25 (Timer: 1.2s) ? PUNTA! ? -?? MacBook Pro (Timer: 5.7s) ? Aspetta - -? Click su Galaxy S25 -? Dopo il click, ri-valuta priorità -``` - ---- - -## ?? Impostazioni Dettagliate - -### Timer Click (0-8) -- **0**: Clicca a 0-0.9 secondi (massima aggressività) -- **1**: Clicca a 1-1.9 secondi (bilanciato) -- **2**: Clicca a 2-2.9 secondi (conservativo) -- **3-8**: Per timer lunghi (10s, 15s, etc.) - -### Ritardo (ms) -- **0**: Nessun delay (massima velocità) -- **50-100**: Raccomandato per stabilità -- **100-500**: Per connessioni lente -- **500+**: Non raccomandato (troppo lento) - -### Multi-Click -- ? Attivato: Doppio click a 20ms di distanza -- ? Disattivato: Singolo click -- ?? **Consiglio**: Attiva se hai lag o packet loss - -### Limiti Prezzo -- **Min Price**: AutoBidder salta aste sotto questo valore -- **Max Price**: AutoBidder salta aste sopra questo valore -- **0 = Nessun limite** (punta sempre) - ---- - -## ?? Interfaccia Utente - -### Pannello Sinistro -``` -??????????????????????????????? -? [Asta Singola] [Multi-Asta] ? ? Modalità -??????????????????????????????? -? [Avvia] ? -? [Pausa] ? -? [Stop] ? -??????????????????????????????? -? Auto-click: 0 Resets: 0 ? -? Prezzo: 15.50 € ? -? ? Multi-Click ? -??????????????????????????????? -? ?? Asta Attiva (Multi-Asta) ? -? Galaxy S25 512GB ? -? Monitorate: 3 ? -??????????????????????????????? -? Max Clicks ? Max Resets ? -? Min Price ? Max Price ? -? Timer Click ? Ritardo ? -??????????????????????????????? -? Elenco Utenti [Pulisci] ? -? ????????????????????????? ? -? ? Nome ? Puntate ? ? -? ? user123 ? 15 ? ? -? ????????????????????????? ? -??????????????????????????????? -? Log Operazioni [Pulisci] ? -? ????????????????????????? ? -? ? 10:30:15 - Click #1 ? ? -? ? 10:30:18 - Reset #1 ? ? -? ????????????????????????? ? -??????????????????????????????? -``` - -### Pannello Destro (WebView) -- **Barra indirizzo**: Inserisci URL Bidoo -- **[Indietro]**: Navigazione -- **[Aggiorna]**: Ricarica pagina -- **[Vai]**: Naviga a URL -- **Browser integrato**: Visualizza Bidoo in tempo reale - ---- - -## ?? Risoluzione Problemi - -### AutoBidder non clicca - -**Possibili cause:** -1. ? Timer Click impostato male - - Soluzione: Verifica che sia 0-8 e coerente col timer dell'asta -2. ? Prezzo fuori range - - Soluzione: Controlla Min/Max Price, imposta 0 per disabilitare -3. ? Pausa attiva - - Soluzione: Clicca "Riprendi" -4. ? Elementi pagina non trovati - - Soluzione: Ricarica la pagina (F5 o pulsante Aggiorna) - -### Click troppo lento - -**Soluzioni:** -1. Riduci "Ritardo" a 0-50ms -2. Disattiva Multi-Click -3. Chiudi altre applicazioni -4. Usa Timer Click = 0 per massima velocità - -### Multi-Asta non trova aste - -**Soluzioni:** -1. Verifica di essere su `https://it.bidoo.com/?tab=FAV` -2. Aggiungi aste ai preferiti (stella ?) -3. Ricarica la pagina -4. Controlla che le aste siano attive (non vendute) - -### Troppi reset rilevati - -**Causa**: Altri utenti puntano molto velocemente - -**Soluzioni:** -1. Riduci Timer Click (es. da 1 a 0) -2. Attiva Multi-Click -3. Riduci Ritardo a 0ms -4. Usa Multi-Asta per più opportunità - ---- - -## ?? Strategie Vincenti - -### Strategia Aggressiva (Massima Velocità) -``` -Timer Click: 0 -Ritardo: 0ms -Multi-Click: ? Attivo -Max Clicks: 100 -Max Resets: 20 -``` -**Pro**: Massima reattività -**Contro**: Consuma click rapidamente - -### Strategia Conservativa (Risparmio Click) -``` -Timer Click: 1 -Ritardo: 100ms -Multi-Click: ? Disattivo -Max Clicks: 30 -Max Resets: 5 -``` -**Pro**: Risparmia click -**Contro**: Meno competitivo - -### Strategia Multi-Asta (Opportunista) -``` -Modalità: Multi-Asta -Timer Click: 0-1 -Ritardo: 50ms -Min Price: 5€ -Max Price: 50€ -``` -**Pro**: Massimizza vincite su più aste -**Contro**: Richiede più preferiti configurati - -### Strategia Range Prezzo (Selettiva) -``` -Min Price: 20€ -Max Price: 100€ -Timer Click: 1 -Max Clicks: 0 (illimitato) -``` -**Pro**: Punta solo su prezzi vantaggiosi -**Contro**: Può saltare molte opportunità - ---- - -## ?? Ottimizzazione Performance - -### Polling Dinamico -AutoBidder adatta automaticamente la frequenza di lettura: - -| Timer Asta | Polling | Reattività | -|-----------|---------|------------| -| < 1.5s | 20ms | ?? ULTRA | -| < 2.5s | 40ms | ?? ALTA | -| < 3.5s | 80ms | ?? MEDIA | -| < 5.0s | 150ms | ?? NORMALE | -| > 8.0s | 400ms | ?? ECO | - -### Cache e Ottimizzazioni -- **Cache bottone**: 500ms (riusa elemento click) -- **Cache timer**: 20ms (lettura ultra-veloce) -- **UI update**: Max ogni 2s (riduce lag) -- **Log limit**: 500 righe (auto-pulizia) - -### Consigli Performance -1. ?? Chiudi app pesanti durante l'uso -2. ?? Non navigare manualmente durante l'automazione -3. ?? Usa "Pulisci Log" periodicamente -4. ?? In Multi-Asta: max 10-15 preferiti - ---- - -## ?? Sicurezza e Limitazioni - -### Cosa AutoBidder FA -? Automatizza click sul pulsante "PUNTA" -? Legge timer e prezzo dalla pagina -? Traccia puntatori e statistiche -? Applica limiti configurati dall'utente - -### Cosa AutoBidder NON FA -? Non modifica il sito Bidoo -? Non aggira limiti di vincita -? Non invia dati esterni -? Non hackera o sfrutta vulnerabilità - -### Domini Consentiti -AutoBidder permette navigazione solo su: -- ? `bidoo.com` e sottodomini -- ? `it.bidoo.com` -- ? `www.bidoo.com` -- ? Altri domini sono bloccati - -### Privacy -- ?? **100% Locale**: Nessun dato inviato online -- ?? **No Telemetria**: Zero tracciamento -- ?? **Open Logic**: Codice verificabile - ---- - -## ??? Sviluppo e Contributi - -### Tecnologie -- **Framework**: WPF (.NET 8) -- **WebView**: Microsoft Edge WebView2 -- **Linguaggio**: C# 12 -- **UI**: XAML con stili custom - -### Struttura Codice -``` -AutoBidder/ -??? MainWindow.xaml # UI principale -??? MainWindow.xaml.cs # Logica automazione -??? App.xaml # Configurazione app -??? MULTI_AUCTION_GUIDE.md # Guida Multi-Asta -??? README.md # Questo file -``` - -### Build -```bash -dotnet build -c Release -``` - -### Requisiti Dev -- Visual Studio 2022+ o VS Code -- .NET 8 SDK -- Windows 10/11 - ---- - -## ?? Changelog - -### v2.0 (Attuale) -- ? **Nuova modalità Multi-Asta** -- ? Monitoraggio simultaneo preferiti -- ? Selezione intelligente asta prioritaria -- ? Pannello "Asta Attiva" -- ? Ottimizzazione risorse (singola WebView) -- ?? Fix contatore reset -- ?? Fix tracciamento bidder -- ? Performance polling dinamico - -### v1.x -- ? Modalità Asta Singola -- ? Lettura diretta variabili JS Bidoo -- ? Multi-click opzionale -- ? Limiti prezzo e click -- ? Tracciamento utenti -- ? Log operazioni - ---- - -## ? FAQ - -**Q: AutoBidder è legale?** -A: Sì, automatizza solo azioni che potresti fare manualmente. Non viola ToS di Bidoo. - -**Q: Posso vincere sempre?** -A: No, AutoBidder aumenta le possibilità ma non garantisce vincite. Dipende da competizione e configurazione. - -**Q: Quante aste posso monitorare?** -A: In Multi-Asta: idealmente 10-15 per performance ottimali. Tecnicamente illimitate. - -**Q: Funziona su Mac/Linux?** -A: No, richiede Windows per WebView2. Possibile port futuro con Avalonia. - -**Q: AutoBidder consuma molti click?** -A: Dipende da configurazione. Usa Max Clicks e Timer Click appropriati per controllare consumo. - -**Q: Posso usare più istanze?** -A: Sì, puoi aprire nuove finestre (click destro su link asta). Attenzione al consumo risorse. - ---- - -## ?? Supporto - -### Problemi Comuni -1. **Errore WebView2**: Installa Microsoft Edge -2. **Click non funziona**: Ricarica pagina -3. **Lag**: Riduci preferiti in Multi-Asta -4. **Crash**: Verifica .NET 8 installato - -### Contatti -- ?? **Bug Report**: Apri issue su repository -- ?? **Feature Request**: Suggerisci miglioramenti -- ?? **Documentazione**: Leggi guide incluse - ---- - -## ?? Licenza - -Questo software è fornito "così com'è" senza garanzie. -L'uso è a proprio rischio e responsabilità. - -**Disclaimer**: AutoBidder è uno strumento di automazione per uso personale. L'utente è responsabile del rispetto dei termini di servizio di Bidoo. - ---- - -## ?? Ringraziamenti - -Grazie a tutti gli utenti per feedback e testing! - -**Buone aste! ????** diff --git a/Mimante/v2.1_CHANGES.md b/Mimante/v2.1_CHANGES.md deleted file mode 100644 index a74fcb0..0000000 --- a/Mimante/v2.1_CHANGES.md +++ /dev/null @@ -1,359 +0,0 @@ -# ?? AutoBidder v2.1 - Riepilogo Modifiche - -## ? Implementazione Completata - -### ?? Nuova Funzionalità: Griglia Multi-Asta in Tempo Reale - ---- - -## ?? Modifiche Interfaccia (MainWindow.xaml) - -### Pannello Stats Riorganizzato - -**Prima (v2.0):** -``` -- Stats (Click, Reset, Prezzo) -- Multi-Click checkbox -- Pannello "Asta Attiva" (nome + contatore) -``` - -**Ora (v2.1):** -``` -- Stats (Click, Reset) -- Prezzo (solo Asta Singola) -- Multi-Click checkbox -- GRIGLIA ASTE (solo Multi-Asta) - ?? Header (Totale aste) - ?? DataGrid con colonne: - ?? Asta - ?? Timer - ?? Prezzo - ?? Vincitore - ?? Stato -``` - -### Elementi Aggiunti - -1. **SingleAuctionPricePanel** (StackPanel) - - Visibile solo in modalità Asta Singola - - Contiene "Prezzo corrente: X€" - -2. **MultiAuctionGridPanel** (Border) - - Visibile solo in modalità Multi-Asta - - Contiene griglia completa aste - -3. **MultiAuctionsGrid** (DataGrid) - - AutoGenerateColumns = False - - MaxHeight = 200 (scrollabile) - - Colonne personalizzate con binding - -4. **TotalAuctionsText** (TextBlock) - - Mostra numero totale aste monitorate - ---- - -## ?? Modifiche Code-Behind (MainWindow.xaml.cs) - -### Nuove Classi - -#### 1. AuctionDisplayModel -```csharp -class AuctionDisplayModel : INotifyPropertyChanged -{ - // Proprietà con notifica cambio - string AuctionId - string Name - double Timer ? TimerDisplay (es: "2.3s") - string Price ? PriceDisplay (es: "15.50€") - string Bidder - string Status ? StatusDisplay (??/?/??) -} -``` - -**Scopo:** Modello dati per binding DataGrid con aggiornamento automatico UI - -#### 2. AuctionInfo (Aggiornata) -```csharp -class AuctionInfo -{ - // Esistenti - string AuctionId, Name, PriceElementId, - TimerElementId, BidderElementId, ButtonId - double LastKnownTimer - string LastKnownBidder - - // NUOVI - bool IsActive // Per gestione on/off (futura) - bool IsPaused // Per pausa individuale (futura) -} -``` - -### Nuove Variabili - -```csharp -// Collection ObservableCollection per binding griglia -private readonly ObservableCollection _auctionDisplayList = new(); -``` - -### Nuovi Metodi - -#### 1. UpdateMultiAuctionGrid(List) -```csharp -// Aggiorna griglia in tempo reale -// - Aggiunge nuove aste -// - Aggiorna timer/prezzo/bidder/stato -// - Rimuove aste non più nei preferiti -``` - -**Chiamato:** Ogni ciclo di polling (20-400ms) - -**Comportamento:** -- Se asta nuova ? Aggiungi a _auctionDisplayList -- Se asta esistente ? Aggiorna proprietà (trigger INotifyPropertyChanged) -- Se asta rimossa dai preferiti ? Rimuovi da lista - -#### 2. UpdateModeButtons() (Modificato) -```csharp -// Ora gestisce visibilità pannelli -if (Multi-Asta): - MultiAuctionGridPanel.Visibility = Visible - SingleAuctionPricePanel.Visibility = Collapsed -else: - MultiAuctionGridPanel.Visibility = Collapsed - SingleAuctionPricePanel.Visibility = Visible -``` - -#### 3. UpdateActiveAuctionDisplay() (Semplificato) -```csharp -// Ora aggiorna solo TotalAuctionsText -// (non più nome asta attiva, visibile nella griglia) -``` - -### Metodi Modificati - -#### MultiAuctionLoop() -```csharp -// Aggiunto dopo ReadAllAuctionStates(): -UpdateMultiAuctionGrid(auctionStates); - -// Rimosso: -// SetCurrentPriceText() - ora nella griglia -// Logica prezzo/bidder individuale - ora in UpdateMultiAuctionGrid -``` - ---- - -## ?? Flusso Operativo Aggiornato - -### v2.0 (Vecchio) -``` -1. Scansiona preferiti -2. Leggi stati aste -3. Seleziona asta prioritaria -4. Aggiorna "Asta Attiva" (nome) -5. Aggiorna prezzo singolo -6. Aggiorna bidder singolo -7. Click se necessario -``` - -### v2.1 (Nuovo) -``` -1. Scansiona preferiti -2. Leggi stati aste -3. ? AGGIORNA GRIGLIA (tutte le aste) -4. Seleziona asta prioritaria -5. Log focus asta -6. Click se necessario -``` - -**Differenza chiave:** Aggiornamento **simultaneo** di tutte le aste invece che focus su una sola. - ---- - -## ?? Struttura Dati Griglia - -### DataGrid Columns - -| Header | Binding | Converter | Width | -|--------|---------|-----------|-------| -| Asta | `{Binding Name}` | - | 2* | -| Timer | `{Binding TimerDisplay}` | `F1 + "s"` | 70 | -| Prezzo | `{Binding PriceDisplay}` | `+ "€"` | 80 | -| Vincitore | `{Binding Bidder}` | - | * | -| Stato | `{Binding StatusDisplay}` | Emoji | 90 | - -### Logica Stato - -```csharp -Status = Timer < 3 ? "active" : "waiting" - -StatusDisplay: -- "active" ? "?? Attiva" -- "paused" ? "?? Pausa" -- "waiting" ? "? Attesa" -``` - ---- - -## ?? Vantaggi Implementazione - -### Performance - -| Aspetto | v2.0 | v2.1 | Miglioramento | -|---------|------|------|---------------| -| **Update UI** | Ogni asta | Batch griglia | +70% velocità | -| **Visibilità** | 1 asta | N aste | ? | -| **Comprensione** | Nome text | Griglia completa | ????? | -| **Polling** | Uguale | Uguale | = | - -### User Experience - -- ? **Vede tutte le aste** contemporaneamente -- ? **Timer in tempo reale** per ogni asta -- ? **Prezzo aggiornato** per ogni asta -- ? **Vincitore corrente** per ogni asta -- ? **Stato visuale** (emoji ??/?) -- ? **Log invariato** per eventi dettagliati -- ? **Elenco utenti invariato** per statistiche - ---- - -## ?? Compatibilità - -### Modalità Asta Singola -- ? **Invariata al 100%** -- ? Mostra "Prezzo corrente" come prima -- ? Log e stats uguali - -### Modalità Multi-Asta -- ? **Griglia aggiunta** senza rimuovere funzionalità -- ? Log ancora disponibile -- ? Elenco utenti ancora disponibile -- ? Stats globali ancora visibili - -### Retrocompatibilità -- ? Configurazioni esistenti funzionano -- ? Nessuna breaking change -- ? Switch modalità senza restart - ---- - -## ?? File Modificati - -### MainWindow.xaml -**Modifiche:** -1. Sostituito "ActiveAuctionPanel" con "MultiAuctionGridPanel" -2. Aggiunto "SingleAuctionPricePanel" (visibile solo Asta Singola) -3. Aggiunto DataGrid "MultiAuctionsGrid" con 5 colonne -4. Aggiunto "TotalAuctionsText" per contatore aste - -**Righe totali:** +60 righe XAML - -### MainWindow.xaml.cs -**Modifiche:** -1. Aggiunta classe `AuctionDisplayModel` (INotifyPropertyChanged) -2. Aggiornata classe `AuctionInfo` (IsActive, IsPaused) -3. Aggiunta variabile `_auctionDisplayList` (ObservableCollection) -4. Aggiunto metodo `UpdateMultiAuctionGrid()` -5. Modificato `UpdateModeButtons()` per gestire pannelli -6. Modificato `MultiAuctionLoop()` per chiamare UpdateMultiAuctionGrid -7. Uso `FindName()` per elementi dinamici (fix compilazione) - -**Righe totali:** +80 righe C# - -### Nuovi File Creati -1. **MULTI_AUCTION_GRID_GUIDE.md** (Guida completa griglia) -2. **v2.1_CHANGES.md** (Questo file) - ---- - -## ?? Testing Completato - -### Build -- ? Compilazione senza errori -- ? Nessun warning critico -- ? XAML validato -- ? Binding DataGrid corretto - -### Funzionalità -- ? Switch modalità funziona -- ? Griglia appare in Multi-Asta -- ? Griglia nascosta in Asta Singola -- ? ObservableCollection binding corretto -- ? INotifyPropertyChanged trigger UI - ---- - -## ?? Prossimi Passi (Testing Utente) - -### Da Verificare -1. **Griglia popolata correttamente** con aste reali -2. **Timer si aggiornano** in tempo reale -3. **Prezzo cambia** quando qualcuno punta -4. **Vincitore aggiornato** correttamente -5. **Stato emoji** (??/?) funziona -6. **Performance** con 5-10 aste - -### Se Problemi -1. Controlla log per errori JavaScript -2. Verifica URL preferiti: `https://it.bidoo.com/?tab=FAV` -3. Ricarica pagina se griglia vuota -4. Controlla che aste siano nei preferiti (?) - ---- - -## ?? Roadmap v2.2 (Futura) - -### Feature Pianificate -- [ ] **Impostazioni per asta** (Timer, limiti individuali) -- [ ] **Pause per asta** (Pulsante ?? nella griglia) -- [ ] **Click manuale** (Forza click su asta specifica) -- [ ] **Colori personalizzati** (Soglie timer/prezzo) -- [ ] **Ordinamento griglia** (Per timer, prezzo, nome) -- [ ] **Context menu** (Click destro su riga per azioni) - ---- - -## ? Checklist Implementazione - -### Completato -- [x] Classe `AuctionDisplayModel` con INotifyPropertyChanged -- [x] ObservableCollection `_auctionDisplayList` -- [x] DataGrid con 5 colonne -- [x] Binding proprietà (Name, Timer, Price, Bidder, Status) -- [x] Converter display (TimerDisplay, PriceDisplay, StatusDisplay) -- [x] Metodo `UpdateMultiAuctionGrid()` -- [x] Visibilità pannelli (Single/Multi) -- [x] Integrazione in `MultiAuctionLoop()` -- [x] Documentazione completa (MULTI_AUCTION_GRID_GUIDE.md) -- [x] Build senza errori - -### Non Implementato (Out of Scope v2.1) -- [ ] Impostazioni individuali per asta -- [ ] Pulsanti azioni in griglia (? ? ??) -- [ ] Context menu click destro -- [ ] Ordinamento colonne -- [ ] Filtri griglia - ---- - -## ?? Conclusione - -### Obiettivo Raggiunto -? **Griglia Multi-Asta in tempo reale completamente funzionale** - -### Risultato -Gli utenti ora possono: -- ??? **Vedere** tutte le aste simultaneamente -- ?? **Monitorare** timer in tempo reale per ogni asta -- ?? **Tracciare** prezzi e vincitori aggiornati -- ?? **Capire** quale asta è prioritaria (?? Attiva) -- ?? **Analizzare** dati completi senza perdere informazioni - -### Prossimo Step -**Testing utente finale** con aste reali su Bidoo! - ---- - -*AutoBidder v2.1 - Grid-Based Multi-Auction Monitoring* -*Implementato con successo! ??* diff --git a/Mimante/v2.1_README.md b/Mimante/v2.1_README.md deleted file mode 100644 index db673cf..0000000 --- a/Mimante/v2.1_README.md +++ /dev/null @@ -1,59 +0,0 @@ -# ?? AutoBidder v2.1 - Grid Multi-Asta - -## ?? Novità: Griglia Aste in Tempo Reale - -Ora puoi vedere **tutte le aste simultaneamente** in una griglia aggiornata in tempo reale! - -### Prima (v2.0) -``` -Asta Attiva: Galaxy S25 512GB -Aste monitorate: 3 -``` - -### Ora (v2.1) -``` -?????????????????????????????????????????????????? -? Asta Timer Prezzo Stato ? -? Galaxy S25 512GB 2.3s 15.50€ ?? Attiva ? -? RTX 5080 5.1s 45.20€ ? Attesa ? -? MacBook Pro 8.0s 120.00€ ? Attesa ? -?????????????????????????????????????????????????? -``` - -## ? Caratteristiche - -- ? **Tutte le aste visibili** contemporaneamente -- ? **Timer in tempo reale** per ogni asta (20-400ms) -- ? **Prezzo aggiornato** automaticamente -- ? **Vincitore corrente** per ogni asta -- ? **Stato visuale** (?? Attiva / ? Attesa) -- ? **Log ed elenco utenti** invariati - -## ?? Come Usare - -1. Aggiungi aste ai **Preferiti** su Bidoo (?) -2. Clicca **[Multi-Asta]** in AutoBidder -3. Attendi 5s per scansione -4. Osserva la **griglia popolarsi** -5. Clicca **[Avvia]** -6. Monitora tutto in tempo reale! - -## ?? Documentazione - -- **Guida Griglia**: [MULTI_AUCTION_GRID_GUIDE.md](MULTI_AUCTION_GRID_GUIDE.md) -- **Modifiche v2.1**: [v2.1_CHANGES.md](v2.1_CHANGES.md) -- **Riepilogo**: [v2.1_SUMMARY.md](v2.1_SUMMARY.md) - -## ?? Vantaggi - -| Aspetto | v2.0 | v2.1 | -|---------|------|------| -| Visibilità | 1 asta | Tutte | -| Info real-time | Limitata | Completa | -| Comprensione | "Su cosa punta?" | "Vedo tutto!" | - -**Vedi tutto. Capisci tutto. Vinci di più.** ?? - ---- - -*AutoBidder v2.1 - Grid-Based Multi-Auction Monitoring* diff --git a/Mimante/v2.1_SUMMARY.md b/Mimante/v2.1_SUMMARY.md deleted file mode 100644 index 50c1ce8..0000000 --- a/Mimante/v2.1_SUMMARY.md +++ /dev/null @@ -1,314 +0,0 @@ -# ? AutoBidder v2.1 - Implementazione Completata! - -## ?? Modifiche Implementate con Successo - -Hai richiesto di vedere **tutte le aste simultaneamente in una griglia** invece di una per volta. Ho implementato questa funzionalità mantenendo log ed elenco utenti invariati. - ---- - -## ?? Cosa È Stato Fatto - -### 1. Nuova Griglia Multi-Asta - -**Interfaccia:** -``` -??????????????????????????????????????????????????????????? -? ?? Aste Monitorate Totale: 3 ? -??????????????????????????????????????????????????????????? -? Asta Timer Prezzo Vincitore Stato ? -? Galaxy S25 512GB 2.3s 15.50€ user123 ?? Attiva ? -? RTX 5080 5.1s 45.20€ user456 ? Attesa ? -? MacBook Pro 8.0s 120.00€ user789 ? Attesa ? -??????????????????????????????????????????????????????????? -``` - -**Caratteristiche:** -- ? Tutte le aste visibili contemporaneamente -- ? Timer in tempo reale per ogni asta -- ? Prezzo aggiornato automaticamente -- ? Vincitore corrente per ogni asta -- ? Stato visuale (?? Attiva / ? Attesa) -- ? Scrollabile se più di 6-7 aste - -### 2. Log ed Elenco Utenti Invariati - -**Mantenuto come prima:** -- ? Log operazioni completo e dettagliato -- ? Elenco utenti con contatore puntate -- ? Statistiche globali (Click, Reset) -- ? Pulsanti Pulisci per entrambi - -### 3. Modalità Asta Singola Intatta - -**Nessuna modifica:** -- ? Funziona esattamente come prima -- ? Mostra "Prezzo corrente" come sempre -- ? Stessa interfaccia e comportamento - ---- - -## ?? Come Funziona Ora - -### Modalità Multi-Asta (NUOVO!) - -1. **Scansione Preferiti**: Ogni 5s cerca aste nei preferiti -2. **Lettura Stati**: Legge timer, prezzo, vincitore di TUTTE le aste -3. **Aggiorna Griglia**: Popola/aggiorna DataGrid in tempo reale -4. **Selezione Priorità**: Identifica asta con timer più basso -5. **Evidenzia Asta Attiva**: Mostra ?? sull'asta prioritaria -6. **Click Automatico**: Punta sull'asta attiva al momento giusto -7. **Rotazione**: Passa alla prossima asta dopo il click - -### Esempio Pratico - -``` -Situazione: -?? Galaxy S25 Timer: 8.0s Prezzo: 15€ ? ? Attesa -?? RTX 5080 Timer: 1.8s Prezzo: 45€ ? ?? Attiva (punta qui!) -?? MacBook Pro Timer: 5.3s Prezzo: 120€ ? ? Attesa - -AutoBidder clicca su RTX 5080 - -Dopo click (RTX resettato): -?? Galaxy S25 Timer: 7.5s ? ? Attesa -?? RTX 5080 Timer: 8.0s ? ? Attesa (appena resettato) -?? MacBook Pro Timer: 4.8s ? ?? Attiva (nuovo target!) -``` - ---- - -## ?? Vantaggi Nuova Interfaccia - -### Rispetto a v2.0 (Precedente) - -| Cosa | Prima (v2.0) | Ora (v2.1) | -|------|-------------|-----------| -| **Visibilità aste** | Solo asta attiva | Tutte simultanee | -| **Informazioni** | Nome + timer + prezzo dell'asta attiva | Timer + prezzo + vincitore per TUTTE | -| **Comprensione** | Limitata ("su cosa sta puntando?") | Completa (vedi tutto) | -| **Controllo** | Cieco ("confido nell'algoritmo") | Visivo ("vedo cosa succede") | -| **Log/Utenti** | Invariati | Invariati ? | - -### Cosa Puoi Fare Ora - -? **Vedere** lo stato di tutte le aste in tempo reale -? **Capire** quale asta è prioritaria (?? Attiva) -? **Monitorare** timer, prezzi e vincitori simultaneamente -? **Tracciare** chi punta su quale asta (log + griglia) -? **Decidere** meglio quali aste aggiungere ai preferiti -? **Analizzare** performance e competizione - ---- - -## ?? Come Usare la Nuova Griglia - -### Setup - -1. **Accedi a Bidoo** tramite AutoBidder -2. **Aggiungi ai Preferiti** (?) le aste interessanti - - Consiglio: 5-10 aste per performance ottimali -3. **Clicca [Multi-Asta]** in AutoBidder - - AutoBidder naviga a `https://it.bidoo.com/?tab=FAV` -4. **Attendi 5 secondi** per scansione iniziale - -### Configurazione - -1. **Timer Click**: Imposta secondo del click (es: 0 o 1) -2. **Ritardo**: Delay aggiuntivo (es: 0-50ms) -3. **Min/Max Price**: Filtra aste per prezzo (opzionale) -4. **Max Clicks/Resets**: Limiti globali su tutte le aste - -### Osservazione - -1. **Guarda la griglia**: - - Timer si aggiornano ogni 20-400ms - - Prezzo cambia quando qualcuno punta - - Vincitore aggiornato in tempo reale - - Stato (??/?) indica priorità - -2. **Monitora il Log**: - - Eventi dettagliati per ogni asta - - "?? Focus su: [Nome Asta]" - - "? Click #N su [Nome Asta]" - -3. **Controlla Elenco Utenti**: - - Vedi chi punta di più - - Traccia competitor - ---- - -## ?? Dettagli Tecnici - -### Nuove Classi - -**AuctionDisplayModel** (INotifyPropertyChanged) -```csharp -- AuctionId, Name -- Timer ? TimerDisplay ("2.3s") -- Price ? PriceDisplay ("15.50€") -- Bidder -- Status ? StatusDisplay (??/?/??) -``` - -**AuctionInfo** (Aggiornata) -```csharp -+ bool IsActive // Per future impostazioni individuali -+ bool IsPaused // Per pausa per asta -``` - -### Nuovi Metodi - -**UpdateMultiAuctionGrid(states)** -- Aggiorna griglia in tempo reale -- Aggiunge nuove aste -- Rimuove aste eliminate dai preferiti -- Trigger INotifyPropertyChanged per UI - -**UpdateModeButtons()** (Modificato) -- Gestisce visibilità pannelli -- Multi-Asta ? Mostra griglia -- Asta Singola ? Mostra prezzo - -### DataGrid Columns - -| Colonna | Binding | Descrizione | -|---------|---------|-------------| -| Asta | Name | Nome prodotto | -| Timer | TimerDisplay | Timer con "s" | -| Prezzo | PriceDisplay | Prezzo con "€" | -| Vincitore | Bidder | Utente corrente | -| Stato | StatusDisplay | ??/? emoji | - ---- - -## ?? File Creati/Modificati - -### Modificati -1. **MainWindow.xaml**: Griglia + pannelli visibilità -2. **MainWindow.xaml.cs**: Classi, metodi, logica griglia - -### Creati -1. **MULTI_AUCTION_GRID_GUIDE.md**: Guida completa utente -2. **v2.1_CHANGES.md**: Riepilogo tecnico modifiche -3. **v2.1_SUMMARY.md**: Questo file - ---- - -## ? Build e Testing - -### Compilazione -- ? Build completato senza errori -- ? Nessun warning critico -- ? XAML validato correttamente -- ? Binding DataGrid funzionante - -### Funzionalità Base Verificate -- ? Switch modalità funziona -- ? Griglia appare in Multi-Asta -- ? Griglia nascosta in Asta Singola -- ? ObservableCollection binding corretto -- ? Visibilità pannelli corretta - -### Da Testare (Utente Finale) -- [ ] Griglia popolata con aste reali -- [ ] Timer si aggiornano in tempo reale -- [ ] Prezzo cambia correttamente -- [ ] Vincitore aggiornato -- [ ] Stato ??/? funziona -- [ ] Performance con 5-10 aste - ---- - -## ?? Prossimi Passi - -### Immediate (Testing) -1. Apri AutoBidder -2. Accedi a Bidoo -3. Aggiungi 3-5 aste ai preferiti (?) -4. Clicca [Multi-Asta] -5. Clicca [Avvia] -6. **Osserva la griglia** mentre si popola -7. Verifica aggiornamenti in tempo reale - -### Se Problemi -- **Griglia vuota**: Verifica preferiti, attendi 5s, ricarica pagina -- **Timer non si aggiorna**: Ricarica pagina, controlla log errori -- **Asta non trovata**: Verifica URL `https://it.bidoo.com/?tab=FAV` - -### Future (v2.2+) -- Impostazioni per asta (Timer, limiti individuali) -- Pulsanti azioni in griglia (? ? ??) -- Context menu click destro -- Ordinamento colonne -- Filtri avanzati - ---- - -## ?? Documentazione - -### Guide Disponibili - -1. **README.md**: Documentazione generale progetto -2. **MULTI_AUCTION_GUIDE.md**: Guida Multi-Asta originale (v2.0) -3. **MULTI_AUCTION_GRID_GUIDE.md**: Guida griglia (v2.1) ? NUOVO -4. **QUICK_REFERENCE.md**: Riferimento rapido -5. **v2.1_CHANGES.md**: Riepilogo tecnico modifiche -6. **v2.1_SUMMARY.md**: Questo file - -### Quale Leggere? - -- **Utente base**: QUICK_REFERENCE.md -- **Utente Multi-Asta**: MULTI_AUCTION_GRID_GUIDE.md ? -- **Sviluppatore**: v2.1_CHANGES.md -- **Panoramica generale**: README.md - ---- - -## ?? Conclusione - -### Obiettivo Completato -? **Griglia Multi-Asta in tempo reale implementata con successo!** - -### Cosa Hai Ottenuto - -**Prima (v2.0):** -- ? Multi-Asta funzionante -- ? Selezione automatica asta prioritaria -- ? Visione limitata (solo asta attiva) - -**Ora (v2.1):** -- ? Multi-Asta funzionante -- ? Selezione automatica asta prioritaria -- ? **Griglia completa con TUTTE le aste** ? -- ? **Timer/Prezzo/Vincitore in tempo reale** ? -- ? **Stato visuale priorità** (??/?) ? -- ? Log ed Elenco Utenti invariati - -### Il Risultato - -Ora hai **visibilità completa** su tutte le aste monitorate senza perdere funzionalità di log e statistiche. Puoi: - -- ??? Vedere tutto quello che succede -- ?? Capire dove AutoBidder sta puntando -- ?? Analizzare performance in tempo reale -- ?? Decidere meglio la strategia -- ?? Massimizzare le vincite - ---- - -## ?? Ready to Go! - -**Il sistema è pronto per essere testato!** - -1. Apri AutoBidder -2. Vai su Bidoo -3. Aggiungi preferiti -4. Attiva Multi-Asta -5. Osserva la magia della griglia! ? - -**Buone aste e buona fortuna!** ???? - ---- - -*AutoBidder v2.1 - Grid-Based Multi-Auction Monitoring* -*Developed with ?? for better auction visibility* diff --git a/Mimante/v2.2_PER_AUCTION_MANAGEMENT.md b/Mimante/v2.2_PER_AUCTION_MANAGEMENT.md deleted file mode 100644 index 942e882..0000000 --- a/Mimante/v2.2_PER_AUCTION_MANAGEMENT.md +++ /dev/null @@ -1,591 +0,0 @@ -# ?? AutoBidder v2.2 - Gestione Per-Asta Completa - -## ? Implementazione Completata - -### ?? Nuova Funzionalità: Gestione Completa Per-Asta con Dettagli Selezionabili - ---- - -## ?? Modifiche Interfaccia (MainWindow.xaml) - -### Nuova Architettura Pannelli - -**v2.1 (Precedente):** -``` -Left Panel: -?? Mode Buttons -?? Start/Pause/Stop -?? Stats Globali -?? Settings Globali (Asta Singola) -?? Griglia Aste (Multi-Asta) - altezza fissa -?? Bidders Globali -?? Log Globale -``` - -**v2.2 (Attuale):** -``` -Left Panel: -?? Mode Buttons -?? Start/Pause/Stop -?? Stats Globali -?? CONTENUTO DINAMICO: - - [ASTA SINGOLA] - ?? Settings - ?? Bidders - ?? Log - - [MULTI-ASTA] - ?? Griglia Aste (RESIZABLE - Row 2*) - ?? GridSplitter (6px) - ?? Dettagli Asta Selezionata (Row 1*) - ?? Nome Asta - ?? Impostazioni (Timer, Min, Max) - ?? Bidders Count - ?? Log Specifico -``` - -### Elementi Aggiunti/Modificati - -#### 1. Pannelli Dinamici - -**SingleAuctionPanel** (Grid): -- Visibile solo in modalità Asta Singola -- Contiene: Settings, Bidders Grid, Log -- Invariato rispetto a v2.1 - -**MultiAuctionPanel** (Grid): -- Visibile solo in modalità Multi-Asta -- Struttura 3 righe: - - Row 0 (Height="2*" MinHeight="150"): Griglia Aste - - Row 1 (Height="6"): GridSplitter resizable - - Row 2 (Height="*" MinHeight="100"): Dettagli Asta Selezionata - -#### 2. Griglia Aste Multi - Modificata - -**Colonne aggiornate:** -| Colonna | Binding | Width | Descrizione | -|---------|---------|-------|-------------| -| Asta | Name | 2* | Nome prodotto | -| Timer | TimerDisplay | 60 | Timer real-time | -| Prezzo | PriceDisplay | 70 | Prezzo corrente | -| **Clicks** | **MyClicks** | **60** | **Click fatti da me su questa asta** ? | -| **Ultimo** | **LastBidder** | * | **Ultimo utente che ha puntato** ? | -| Stato | StatusDisplay | 80 | ??/? | - -**Aggiunte:** -- `SelectionMode="Single"` ? Permette selezione singola asta -- `SelectionChanged="MultiAuctionsGrid_SelectionChanged"` ? Handler click -- `IsSelected` Trigger ? Evidenzia riga selezionata in blu (#1E40AF) - -#### 3. Pannello Dettagli Asta Selezionata - NUOVO! - -**Struttura:** -```xml - - - - - - - - - - - - - - - - - - - - - -``` - -#### 4. GridSplitter Verticale - -- **Height**: 6px -- **Cursor**: SizeNS -- **Funzione**: Ridimensiona griglia aste vs dettagli -- **Beneficio**: Più spazio per griglia se necessario, oppure per log se si vuole leggere meglio - ---- - -## ?? Modifiche Code-Behind (MainWindow.xaml.cs) - -### 1. AuctionDisplayModel - Classe Potenziata - -**Proprietà aggiunte:** - -```csharp -// Dati per griglia -public string LastBidder { get; set; } // Ultimo utente puntata (non più "Bidder" generico) -public int MyClicks { get; set; } // Contatore click fatti da ME su questa asta - -// Impostazioni PER-ASTA -public int TimerClick { get; set; } = 0; -public double MinPrice { get; set; } = 0; -public double MaxPrice { get; set; } = 0; - -// Dati PER-ASTA -public List AuctionLog { get; set; } = new(); -public Dictionary AuctionBidders { get; set; } = new(); -``` - -**Binding aggiornati:** -- `Bidder` ? `LastBidder` (più chiaro) -- `TimerDisplay`, `PriceDisplay` ? Invariati -- `MyClicks` ? Nuovo binding - -### 2. Nuove Variabili - -```csharp -private AuctionDisplayModel? _selectedAuction = null; -``` - -Traccia l'asta attualmente selezionata dall'utente. - -### 3. Nuovi Metodi - -#### MultiAuctionsGrid_SelectionChanged - -```csharp -private void MultiAuctionsGrid_SelectionChanged(object sender, SelectionChangedEventArgs e) -{ - // Cattura selezione asta - // Aggiorna _selectedAuction - // Chiama UpdateSelectedAuctionDetails -} -``` - -**Quando:** Click su riga nella griglia - -#### UpdateSelectedAuctionDetails - -```csharp -private void UpdateSelectedAuctionDetails(AuctionDisplayModel auction) -{ - // Aggiorna SelectedAuctionName - // Carica impostazioni (SelectedTimerClick, SelectedMinPrice, SelectedMaxPrice) - // Aggiorna SelectedAuctionBiddersCount - // Aggiorna SelectedAuctionLog -} -``` - -**Effetto:** Popola pannello dettagli con dati dell'asta selezionata - -#### LogAuction - -```csharp -private void LogAuction(AuctionDisplayModel auction, string message) -{ - // Aggiunge entry a auction.AuctionLog - // Mantiene max 100 righe - // Se è asta selezionata ? Aggiorna UI log -} -``` - -**Beneficio:** Ogni asta ha il SUO log separato - -#### Gestori Impostazioni Per-Asta - -```csharp -private void SelectedTimerClick_TextChanged(object sender, TextChangedEventArgs e) -private void SelectedMinPrice_TextChanged(object sender, TextChangedEventArgs e) -private void SelectedMaxPrice_TextChanged(object sender, TextChangedEventArgs e) -``` - -**Quando:** Utente cambia impostazioni nel pannello dettagli -**Effetto:** Aggiorna `_selectedAuction.TimerClick/MinPrice/MaxPrice` -**Log:** Aggiunge entry al log dell'asta - -### 4. UpdateMultiAuctionGrid - Potenziata - -**Modifiche:** - -```csharp -// Quando aggiunge nuova asta: -displayModel.MyClicks = 0; -displayModel.TimerClick = 0; // Default -displayModel.MinPrice = 0; -displayModel.MaxPrice = 0; -LogAuction(displayModel, "Asta aggiunta al monitoraggio"); - -// Quando rileva cambio bidder: -if (state.Bidder != displayModel.LastBidder) -{ - displayModel.LastBidder = state.Bidder; - - // Aggiorna dizionario bidders per asta - if (displayModel.AuctionBidders.ContainsKey(state.Bidder)) - displayModel.AuctionBidders[state.Bidder]++; - else - displayModel.AuctionBidders[state.Bidder] = 1; - - LogAuction(displayModel, $"?? Puntata di: {state.Bidder}"); - - // Se è asta selezionata ? aggiorna bidders count -} -``` - -### 5. MultiAuctionLoop - Usa Impostazioni Per-Asta - -**Prima (v2.1):** -```csharp -// Usava impostazioni globali da ClickTimerBox, MinPriceBox, MaxPriceBox -int clickTimerValue = ClickTimerBox.Text; -double minPrice = MinPriceBox.Text; -double maxPrice = MaxPriceBox.Text; -``` - -**Ora (v2.2):** -```csharp -// Trova displayModel dell'asta target -var targetDisplayModel = _auctionDisplayList.FirstOrDefault(a => a.AuctionId == targetAuction.AuctionId); - -// USA IMPOSTAZIONI PER-ASTA! -int clickTimerValue = targetDisplayModel?.TimerClick ?? 0; -double minPrice = targetDisplayModel?.MinPrice ?? 0.0; -double maxPrice = targetDisplayModel?.MaxPrice ?? 0.0; -``` - -**Effetto:** -Ogni asta può avere Timer Click, Min Price, Max Price **diversi**! - -**Quando click riuscito:** -```csharp -if (targetDisplayModel != null) -{ - targetDisplayModel.MyClicks++; // ? Incrementa contatore - LogAuction(targetDisplayModel, $"? Click #{targetDisplayModel.MyClicks}"); -} -``` - ---- - -## ?? Workflow Utente - -### Modalità Multi-Asta v2.2 - -#### 1. Setup Iniziale - -1. Aggiungi 5-10 aste ai Preferiti su Bidoo (?) -2. Clicca **[Multi-Asta]** in AutoBidder -3. Attendi 5s per scansione -4. La griglia si popola con le aste - -#### 2. Configurazione Per-Asta - -1. **Clicca su un'asta nella griglia** -2. Il pannello dettagli si popola: - ``` - ?? Galaxy S25 512GB - - Timer Click: [0] Min €: [10] Max €: [50] - - Utenti su questa asta: 3 - - Log: - 12:30:15 - Asta aggiunta al monitoraggio - 12:30:20 - Timer Click cambiato: 1 - 12:30:25 - Min Price cambiato: 10€ - 12:30:30 - Max Price cambiato: 50€ - 12:31:05 - ?? Puntata di: user123 - 12:31:18 - ? Click #1 - Timer: 0.8s - ``` - -3. **Modifica impostazioni**: - - Timer Click: `1` ? Punta quando timer = 1s - - Min Price: `10` ? Non puntare se prezzo < 10€ - - Max Price: `50` ? Non puntare se prezzo > 50€ - -4. **Clicca su un'altra asta** per configurarla diversamente - -#### 3. Esempio Configurazione Multi-Asta - -``` -????????????????????????????????????????????????????????????? -? Galaxy S25 2.3s 15€ 2 user123 ?? [SELEZIONATA] ? -? RTX 5080 5.1s 45€ 0 user456 ? ? -? MacBook Pro 8.0s 120€ 5 user789 ? ? -????????????????????????????????????????????????????????????? - -?? Galaxy S25 512GB -Timer Click: [1] Min €: [10] Max €: [50] -Utenti: 3 - -Config: -- Timer = 1s ? Punta solo quando timer scende a 1s -- Min = 10€ ? Skippa se prezzo < 10€ -- Max = 50€ ? Skippa se prezzo > 50€ -``` - -**Altre aste:** -- RTX 5080: Timer=0, Min=20, Max=100 ? Configurazione diversa! -- MacBook Pro: Timer=0, Min=0, Max=200 ? Altra configurazione! - -#### 4. Monitoraggio Real-Time - -**Griglia aggiornata ogni 20-400ms:** -- Timer countdown per ogni asta -- Prezzo cambia quando qualcuno punta -- **Clicks** si incrementa quando TU punti -- **Ultimo** mostra chi ha puntato per ultimo - -**Log per-asta:** -- Clicca su asta per vedere LOG SPECIFICO -- Eventi solo per quella asta -- Max 100 righe per asta - -#### 5. Ridimensionamento - -**Drag GridSplitter** (6px tra griglia e dettagli): -- **Su:** Più spazio griglia ? Vedi più aste -- **Giù:** Più spazio dettagli ? Leggi meglio log - ---- - -## ?? Vantaggi v2.2 - -### Rispetto a v2.1 - -| Aspetto | v2.1 | v2.2 | Miglioramento | -|---------|------|------|---------------| -| **Impostazioni** | Globali | Per-asta ? | ????? | -| **Visibilità click** | Solo totale | Per-asta ? | ????? | -| **Log** | Globale | Per-asta ? | ????? | -| **Bidders** | Globale | Per-asta ? | ???? | -| **Controllo** | Limitato | Completo ? | ????? | -| **Griglia** | Fissa | Resizable ? | ???? | - -### Cosa Puoi Fare Ora (NUOVO!) - -? **Configurare** ogni asta con impostazioni diverse -? **Vedere** quanti click hai fatto su ogni asta -? **Monitorare** log specifico per ogni asta -? **Tracciare** bidders per ogni asta separatamente -? **Ridimensionare** griglia vs dettagli dinamicamente -? **Switchare** tra aste per vedere dettagli diversi - ---- - -## ?? Dettagli Tecnici - -### Flusso Dati Per-Asta - -``` -User Click su Griglia - ? -MultiAuctionsGrid_SelectionChanged - ? -_selectedAuction = auction - ? -UpdateSelectedAuctionDetails - ? -Carica: Nome, Impostazioni, Bidders Count, Log - ? -User modifica impostazioni - ? -SelectedTimerClick_TextChanged - ? -_selectedAuction.TimerClick = value - ? -LogAuction(_selectedAuction, "Timer cambiato") - ? -Se asta ancora selezionata ? Aggiorna log UI -``` - -### Algoritmo Click Multi-Asta v2.2 - -``` -Loop: -1. Scansiona aste nei preferiti -2. Leggi stati tutte le aste -3. Aggiorna griglia (timer, prezzo, bidders) - -4. Trova asta con timer più basso -5. Recupera displayModel dell'asta - -6. USA IMPOSTAZIONI PER-ASTA: - - clickTimerValue = displayModel.TimerClick - - minPrice = displayModel.MinPrice - - maxPrice = displayModel.MaxPrice - -7. Se timer in range E prezzo OK: - - Click - - displayModel.MyClicks++ - - LogAuction(displayModel, "Click #X") - - Aggiorna LastBidder - - Aggiorna AuctionBidders[user]++ - -8. Ripeti -``` - -### Sincronizzazione UI - -**ObservableCollection + INotifyPropertyChanged:** -- Griglia si aggiorna automaticamente quando cambia `MyClicks`, `Timer`, `Price`, etc. -- Binding bidirezionale tra TextBox impostazioni e `_selectedAuction` -- Log aggiornato in tempo reale se asta è selezionata - ---- - -## ?? Strategie Avanzate Per-Asta - -### Strategia "Diversificata" - -``` -Obiettivo: Massimizzare vincite su aste diverse con config ottimali - -Galaxy S25: -- Timer: 1s (massima precisione) -- Min: 10€, Max: 50€ (range conveniente) - -RTX 5080: -- Timer: 0s (ultra-aggressivo) -- Min: 20€, Max: 100€ (più permissivo) - -MacBook Pro: -- Timer: 2s (meno competitivo) -- Min: 0€, Max: 200€ (tutto ok) - -Risultato: Ogni asta ottimizzata individualmente! -``` - -### Strategia "Focus Selettivo" - -``` -Obiettivo: Puntare solo su aste specifiche - -Aste Prioritarie (Timer=0, Min=0, Max=100): -- iPhone 16 -- Galaxy S25 - -Aste Opportunistiche (Timer=2, Min=50, Max=150): -- MacBook Pro -- iPad Pro - -Risultato: Aste prioritarie ultra-aggressive, altre più conservative -``` - ---- - -## ?? File Modificati - -### MainWindow.xaml - -**Modifiche:** -1. Sostituito pannello statico con `SingleAuctionPanel` e `MultiAuctionPanel` -2. Aggiunto GridSplitter resizable verticale -3. Aggiunto pannello "Dettagli Asta Selezionata" -4. Modificate colonne griglia: `Bidder` ? `LastBidder`, aggiunto `MyClicks` -5. Aggiunto `SelectionChanged` handler alla griglia - -**Righe totali:** +120 righe XAML - -### MainWindow.xaml.cs - -**Modifiche:** -1. Aggiornata `AuctionDisplayModel` con nuove proprietà (6 nuove) -2. Aggiunta variabile `_selectedAuction` -3. Aggiunto metodo `MultiAuctionsGrid_SelectionChanged` -4. Aggiunto metodo `UpdateSelectedAuctionDetails` -5. Aggiunti 3 gestori cambio impostazioni per-asta -6. Aggiunto metodo `LogAuction` -7. Aggiornato `UpdateMultiAuctionGrid` per gestire bidders e log per-asta -8. Aggiornato `MultiAuctionLoop` per usare impostazioni per-asta e incrementare `MyClicks` -9. Aggiornato `UpdateModeButtons` per gestire `SingleAuctionPanel` e `MultiAuctionPanel` - -**Righe totali:** +150 righe C# - ---- - -## ? Build e Testing - -### Compilazione - -``` -? Build: SUCCESS -? Errori: 0 -? Warning: 0 -? Binding: Corretto -? GridSplitter: Funzionante -``` - -### Funzionalità Verificate - -- ? Switch modalità Singola/Multi -- ? Pannelli dinamici visibilità corretta -- ? Griglia popolata con aste -- ? Click su asta seleziona correttamente -- ? Dettagli asta caricati -- ? Impostazioni per-asta modificabili -- ? GridSplitter ridimensionabile -- ? Binding `MyClicks`, `LastBidder` corretti - ---- - -## ?? Prossimi Passi - -### Testing Utente - -1. Apri AutoBidder -2. Clicca [Multi-Asta] -3. Aggiungi 3-5 aste ai preferiti -4. Attendi popolamento griglia -5. **Clicca su un'asta** -6. Verifica caricamento dettagli -7. Modifica impostazioni (Timer, Min, Max) -8. Clicca [Avvia] -9. Osserva: - - Clicks si incrementa per asta - - Log per-asta funziona - - Impostazioni per-asta applicate - -### Se Problemi - -- **Dettagli non caricano**: Riclicca sull'asta -- **Impostazioni non salvano**: Verifica formato numeri (0-8 per Timer, decimali con . per prezzi) -- **Log non si aggiorna**: Riseleziona asta - ---- - -## ?? Conclusione - -### Obiettivo v2.2 Raggiunto - -? **Gestione completa per-asta implementata!** - -### Risultato - -**v2.1:** -- ? Griglia multi-asta -- ? Impostazioni globali -- ? Log globale -- ? Bidders globali - -**v2.2:** -- ? Griglia multi-asta -- ? **Impostazioni PER-ASTA** ? -- ? **Log PER-ASTA** ? -- ? **Bidders PER-ASTA** ? -- ? **Clicks contati PER-ASTA** ? -- ? **Pannello dettagli selezionabile** ? -- ? **Griglia ridimensionabile** ? - -### Prossimo Livello - -Possibili future implementazioni (v2.3+): -- [ ] **Pulsanti azioni in griglia** (? Abilita, ? Pausa, ?? Config rapida) -- [ ] **Context menu click destro** (Elimina, Duplica config, etc.) -- [ ] **Ordinamento griglia** (Per timer, prezzo, clicks) -- [ ] **Filtri** (Solo attive, solo > X clicks, etc.) -- [ ] **Export config** (Salva impostazioni aste su file) - ---- - -*AutoBidder v2.2 - Per-Auction Complete Management* -*Controllo totale su ogni singola asta! ??* diff --git a/Mimante/v2.3_MULTI_AUCTION_IMPROVEMENTS.md b/Mimante/v2.3_MULTI_AUCTION_IMPROVEMENTS.md deleted file mode 100644 index 59f601c..0000000 --- a/Mimante/v2.3_MULTI_AUCTION_IMPROVEMENTS.md +++ /dev/null @@ -1,521 +0,0 @@ -# ?? AutoBidder v2.3 - Multi-Auction Improvements - -## ? Modifiche Implementate - -### ?? Lista Richieste - -1. ? **Rimossa colonna "Stato"** dalla griglia Multi-Asta -2. ? **Aumentato spazio** tra griglia e dettagli (GridSplitter da 6px a 12px + margin) -3. ? **Aggiunto pulsante Pausa** per singola asta -4. ? **Evidenziazione riga** quando punti tu (sfondo verde) -5. ? **Contatore Reset** per ogni asta -6. ? **Rimosso Multi-Click** dal Multi-Asta -7. ? **Nascoste statistiche globali** (Auto-click/Resets) in Multi-Asta -8. ? **Multi-Asta come default** all'avvio - ---- - -## ?? Modifiche Interfaccia (XAML) - -### 1. Griglia Multi-Asta - Nuove Colonne - -**PRIMA (v2.2):** -``` -| Asta | Timer | Prezzo | Clicks | Ultimo | Stato | -``` - -**ORA (v2.3):** -``` -| Asta | Timer | Prezzo | Clicks | Resets | Ultimo | -``` - -**Cambiamenti:** -- ? Rimossa colonna "Stato" (non utile) -- ? Aggiunta colonna "Resets" (contatore per asta) - -### 2. Evidenziazione Righe - -**Nuovo Style Trigger:** -```xaml - - - - -``` - -**Effetto:** -- Quando punti su un'asta, la riga diventa **verde** e **grassetto** -- Si vede chiaramente su quale asta hai l'ultima puntata - -### 3. GridSplitter Migliorato - -**PRIMA:** -```xml - - -``` - -**ORA:** -```xml - - -``` - -**Benefici:** -- Più facile da afferrare con il mouse -- Maggiore spazio visivo tra sezioni - -### 4. Pannello Dettagli con Pulsante Pausa - -**Header Aggiornato:** -```xaml - - -