# AutoBidder - Guida completa all'uso > AutoBidder è uno strumento desktop per Windows (WPF, .NET 8) pensato per automatizzare le offerte sul sito Bidoo.com. Questa guida descrive caratteristiche, installazione, configurazione, modalità operative, strategie avanzate, dettagli tecnici e risoluzione dei problemi. ![Version](https://img.shields.io/badge/version-2.10-blue) ![.NET](https://img.shields.io/badge/.NET-8.0-purple) --- Sommario - Caratteristiche principali - Requisiti di sistema - Installazione e avvio - Guida rapida (primi passi) - Modalità operative: Asta Singola e Multi-Asta - Strategie e consigli pratici - Dettagli tecnici: Polling, Click HTTP e sincronizzazione cookie - Impostazioni e persistenza - Esportazione e diagnostica - FAQ e risoluzione problemi - Changelog sintetico --- ## Caratteristiche principali - Monitoraggio in tempo reale di singole aste o molte aste contemporaneamente - Due modalità operative: `Asta Singola` (massima precisione) e `Multi-Asta` (monitoraggio e auto-switch) - Polling adattivo (HTTP / WebView2 / Active) per ridurre uso di CPU e RAM - Click HTTP diretto (reverse engineered) con sincronizzazione dei cookie dal WebView2 - Persistenza della lista aste (`auctions.json`) e esportazione CSV delle statistiche - UI dark theme moderna con griglia in tempo reale, dettagli asta, log e contatori ## Requisiti di sistema - Windows 10 (1809+) o Windows 11 - .NET 8.0 Runtime - RAM: 4 GB (consigliati 8 GB) - Connessione internet stabile ## Installazione e avvio 1. Assicurarsi di avere .NET 8.0 Runtime installato: `dotnet --version` (output: 8.0.x) 2. Clonare il repository (privato): - `git clone https://192.168.30.23/Alby96/Mimante` 3. Costruire il progetto: - `dotnet restore` - `dotnet build --configuration Release` 4. Eseguire l'app: - `dotnet run` (dalla cartella del progetto) oppure avviare `AutoBidder.exe` in `bin\\Release\\net8.0-windows` ## Guida rapida (primi passi) 1. Avvia l'app: l'interfaccia principale mostra due pannelli (controlli a sinistra, browser WebView2 a destra). 2. Login: accedi a `bidoo.com` tramite il browser integrato (se vuoi usare il Click HTTP diretto devi essere loggato). 3. Scegli modalità: - `Asta Singola` per concentrarti su un solo oggetto - `Multi-Asta` per monitorare più aste e lasciare che l'app esegua auto-switch 4. Aggiungi aste (Multi-Asta): - Metodo Automatico: vai sulla pagina Preferiti e lascia che l'app rilevi le aste - Metodo Manuale: clicca `+ URL` o `Pagina` e incolla/aggiungi l'URL dell'asta 5. Configura impostazioni globali o per-asta (Timer Click, Min/Max Price, Max Clicks, Max Resets, Ritardo, Multi-Click) 6. Premi `Avvia` per attivare il Click Loop; il background polling rimane sempre attivo anche senza Avvia. ## Modalità operative ### Asta Singola - Ideale per oggetti di valore dove la precisione è critica. - Monitoraggio intensivo del DOM tramite WebView2, contatori dettagliati, lista utenti e log dedicato. - Supporta `Multi-Click` (click multipli paralleli) per aumentare probabilità in connessione instabile. - Impostazioni consigliate per asta singola: `Timer Click` 0-1, `Multi-Click` ON, `Ritardo` 0ms. ### Multi-Asta - Monitoraggio simultaneo di molte aste. - L'app punta solo sull'asta con `timer` più basso (auto-switch) per evitare concorrere contro se stessa. - Per ogni asta è possibile impostare opzioni indipendenti (Timer Click, Min/Max Price, Pausa/Riprendi). - Metodo manuale (URL diretto) è raccomandato per monitoraggi massivi (consumo risorse minimo). ## Strategie consigliate - Monitoraggio massivo (50+ aste): usa `URL Manuale`, `Timer Click` 0, limiti di prezzo bassi. - Asta singola ad alto valore: `Timer Click` 0-1, `Multi-Click` ON, `Ritardo` 0ms. - Caccia all'affare: `Max Price` molto basso, monitora molte aste con Timer Click 0. ## Approfondimento tecnico ### Polling adattivo (Dual-Track) - Track 1 — Background Polling: esegue richieste HTTP ogni ~5s per aggiornare timer, prezzo e ultimo bidder. Mantiene uso CPU/RAM minimo. - Track 2 — Click Loop: attivo solo dopo `Avvia`. Polling dinamico 20-400ms per aste critiche e invio dei click (HTTP diretto o WebView2 fallback). ### Click HTTP diretto - Al momento dell'azione, il client costruisce una GET verso l'endpoint reverse engineered di Bidoo tipo: `GET https://it.bidoo.com/bid.php?AID=81204347&sup=0&shock=0` - Richiede i cookie di sessione (PHPSESSID, user_token, ecc.) che vengono sincronizzati dal WebView2. - Latenza tipica: 10-30ms (molto più veloce del click via WebView2 che può impiegare 50-100ms) - Se il Click HTTP fallisce, l'app esegue fallback automatico con `ExecuteScript` su WebView2. ### Sincronizzazione cookie - Al primo `Avvia` viene letto il `CookieManager` di `CoreWebView2`, copiato in un `CookieContainer` per l'`HttpClient` utilizzato dai Click HTTP. - I cookie sono conservati solo in memoria, mai su disco. Devono essere rinfrescati ri-effettuando il login nel WebView2 se scadono. ## Persistenza e file locali - Lista aste manuali salvata in: `%AppData%\\AutoBidder\\auctions.json` - La lista viene ricaricata automaticamente all'avvio dell'app. - Esportazione CSV: la funzionalità `Export CSV` genera un file contenente statistiche per ogni asta (nome, ID, URL, timer, prezzo, strategy, click/resets, impostazioni per-asta). ## Impostazioni principali - `Timer Click` (0-8): secondo del countdown al quale si desidera effettuare il click (0 = 0.0-0.9s) - `Max Clicks` / `Max Resets`: limiti operativi (0 = illimitato) - `Min/Max Price`: evita puntate fuori dal range desiderato - `Ritardo (ms)`: delay aggiuntivo prima di inviare il click - `Multi-Click`: invia più click paralleli (utile su connessioni con jitter) ## Interfaccia e controlli - Pannello sinistro: controlli principali (modalità, Avvia, Pausa, Stop, aggiungi/rimuovi aste, esporta CSV) - Pannello destro: browser integrato (WebView2) + dettagli asta quando selezionata - Griglia aste (multi-asta): mostra Timer, Prezzo, Strategia, Clicks, Resets, Ultimo bidder - Log in tempo reale per ogni asta con dettagli di latenza, risposta server e fallimenti ## Diagnostica ed esportazione - Abilita log dettagliato prima di aprire issue o per analisi locali - Usa `Export CSV` per conservare storici e confrontare strategie - Mantieni screenshot del pannello log per report più chiari ## FAQ e risoluzione dei problemi - "Non vedo Click HTTP riuscito": assicurati di essere loggato nel WebView2 e che la sincronizzazione cookie sia avvenuta (vedi log "Cookie sincronizzati (X cookie)"). Premi `Avvia` dopo il login. - "Aste non rilevate": assicurati di essere nella pagina Preferiti per il metodo automatico oppure aggiungi gli URL manualmente. - "Il programma non si avvia": verifica .NET 8.0 Runtime installato e che il build sia andato a buon fine. - "Click non funzionano": verifica Timer Click, limiti di prezzo e connessione internet. Controlla se il fallback WebView è attivo nei log. ## Avvisi e responsabilità - L'automazione potrebbe violare i Termini di Servizio di Bidoo. L'uso è a rischio e responsabilità dell'utente. - Non salvare credenziali su disco: l'app non memorizza login, usa il WebView2 per la sessione. - Cookie e dati di sessione rimangono in memoria e vengono rimossi alla chiusura dell'app. ## Changelog sintetico (ultime versioni) - v2.10: Click HTTP diretto, sincronizzazione cookie automatica, miglioramenti prestazionali - v2.9: Persistenza automatica, UI improvements, export CSV - v2.8: Polling adattivo e strategie ibride ## Supporto - Repository privato Gitea: `https://192.168.30.23/Alby96/Mimante` - Per problemi tecnici aprire issue nel repository privato (se abilitato) o contattare il manutentore del progetto. --- Note tecniche per sviluppatori - Progetto target: `.NET 8.0` (WPF + WebView2) - Aree chiave del codice: - `Services\\BidooApiClient.cs` — gestione Click HTTP e parsing risposte - `Services\\AuctionMonitor.cs` — loop di polling e logica auto-switch - `Services\\SessionManager.cs` — sincronizzazione cookie e HttpClient creation - `Utilities\\PersistenceManager.cs` — salvataggio/ricaricamento `auctions.json` - `ViewModels\\AuctionViewModel.cs` + XAML corrispondenti — visualizzazione e binding UI ## Contributi - Questo repository è privato. Per contribuire, aprire PR verso branch `main` e seguire le convenzioni del progetto. ## Licenza - Privato — non distribuire senza autorizzazione del proprietario. Buona fortuna con le aste e usa AutoBidder responsabilmente.