Manuale del Bot Telegram Monitor Prezzi Amazon

Configura e usa il programma Python consegnato per aggiungere prodotti Amazon e controllarne il prezzo dal tuo bot Telegram.

Per chi è: È pensato per chi ha dimestichezza di base con il terminale e vuole gestire privatamente una piccola lista di URL Amazon attraverso Telegram. È necessario poter installare e mantenere in esecuzione un programma Python.

Tempo di configurazione: Primo avvio: indicativamente 20-40 minuti, esclusa la creazione del bot Telegram.

Cosa fa

  • Legge il token Telegram dalla variabile BOT_TOKEN e il chat ID dalla variabile CHAT_ID.
  • Avvia un bot Telegram in modalità polling quando esegui il file Python con una configurazione valida.
  • Accetta il comando /add con un URL che contiene /dp/ seguito da un ASIN di 10 caratteri e una soglia numerica.
  • Mantiene in memoria una watchlist con ASIN, URL, nome generico, soglia e ultimo prezzo inizialmente vuoto.
  • Mostra gli elementi della watchlist con /list e rimuove un ASIN con /remove.
  • Con /check scarica la pagina dell'URL registrato, cerca il prezzo con i selettori HTML presenti nel sorgente e risponde solo per gli elementi per cui trova un prezzo.
  • Il commento iniziale del sorgente dichiara il supporto per Amazon IT, DE, FR, ES e UK; il comando /add verifica però soltanto il formato /dp/ASIN dell'URL.

Cosa non fa

  • Non avvia il ciclo automatico di monitoraggio ogni ora nella versione consegnata: la funzione monitor_loop è definita ma main non la chiama.
  • Non salva la watchlist su file, database o cloud; al riavvio del processo gli elementi aggiunti scompaiono.
  • Non recupera né usa il titolo reale del prodotto per gli elementi aggiunti: nelle risposte appare il nome generico Prodotto seguito dall'ASIN.
  • Non effettua acquisti, non gestisce carrelli e non può garantire che il prezzo estratto sia disponibile, corretto o applicabile al tuo account.
  • Non applica un controllo degli accessi ai comandi Telegram; il codice non filtra gli utenti o le chat autorizzate.

Requisiti

  • Python 3 e pip: Servono per creare un ambiente isolato, installare requirements.txt ed eseguire telegram-bot-amazon-monitor.py.
  • Terminale o shell: Ti serve per eseguire i comandi di installazione, impostare le variabili e avviare il programma.
  • Account Telegram e bot Telegram: Crea il bot con @BotFather secondo la normale procedura Telegram e conserva il token in modo riservato.
  • BOT_TOKEN: È il token del bot Telegram. Il programma non parte se resta il valore segnaposto.
  • CHAT_ID: È il tuo chat ID Telegram. Il programma ne richiede la configurazione all'avvio, anche se il ciclo automatico non è avviato dal file consegnato.
  • Connessione Internet durante l'uso: Il bot usa Telegram in polling e il comando /check richiede la pagina dell'URL registrato. Se usi hosting o un dispositivo sempre acceso, verifica eventuali costi e condizioni del relativo fornitore.

Installazione passo passo

  1. Estrai l'archivio in una cartella dedicata. Scarica il file ZIP acquistato ed estrailo. Conserva insieme i quattro file consegnati: README.md, README.en.md, requirements.txt e telegram-bot-amazon-monitor.py. Non cercare di copiare .env.example: il README lo cita, ma quel file non è incluso nell'archivio consegnato.
  2. Scegli la guida nella tua lingua. README.md è in italiano. README.en.md è in inglese. Il file requirements.txt è un elenco tecnico senza una lingua di lettura; telegram-bot-amazon-monitor.py contiene commenti e messaggi destinati a Telegram in italiano.
  3. Verifica Python e apri il terminale nella cartella estratta. Apri un terminale nella cartella che contiene requirements.txt. Verifica che Python 3 sia disponibile prima di proseguire.
  4. Crea e attiva un ambiente virtuale. Un ambiente virtuale separa le librerie del bot dalle altre installazioni Python. Su sistemi Linux o macOS usa i comandi seguenti dalla cartella estratta.
  5. Installa le dipendenze consegnate. Con l'ambiente virtuale attivo, installa esattamente il file requirements.txt incluso. Il file dichiara python-telegram-bot, aiohttp, beautifulsoup4, lxml e python-dotenv.
  6. Crea il bot e recupera i due valori necessari. Crea un bot con @BotFather seguendo la normale procedura Telegram e ottieni il relativo token. Recupera anche il tuo chat ID; il README consegnato indica @userinfobot a questo scopo. Non inviare mai il token in chat pubbliche, ticket o schermate condivise.
  7. Crea manualmente il file .env. Nella stessa cartella di telegram-bot-amazon-monitor.py crea un nuovo file di testo chiamato .env. Il programma carica questo file tramite python-dotenv se la libreria è installata. Inserisci i tuoi valori al posto dei segnaposto, senza pubblicarli.
  8. Avvia il programma. Con .env presente e l'ambiente virtuale attivo, avvia il file. Se BOT_TOKEN o CHAT_ID mancano oppure iniziano con il segnaposto YOUR_, il programma si arresta prima di connettersi e stampa un errore di configurazione.
  9. Aggiungi un prodotto con URL e soglia. Apri la chat del tuo bot in Telegram. Invia /add seguito da un URL Amazon che contenga /dp/ e un ASIN di 10 caratteri, poi una soglia con il punto decimale. Il programma memorizza l'elemento solo nella memoria del processo in esecuzione.
  10. Esegui il primo controllo manuale. Invia /check nella chat del bot. Il bot conferma che il controllo è in corso e, per ciascun elemento di cui riesce a leggere il prezzo, invia prezzo e soglia. Se non arriva una riga di prezzo per un elemento, consulta la sezione Risoluzione dei problemi.

Uso quotidiano

Avvia il processo quando vuoi usare il bot

Esegui python3 telegram-bot-amazon-monitor.py con l'ambiente virtuale attivo. Il processo deve restare in esecuzione perché il bot possa ricevere i comandi in polling.

Aggiungi solo URL nel formato riconosciuto

Usa /add con un URL che contenga /dp/ seguito da un ASIN di 10 caratteri maiuscoli o numeri e una soglia numerica, ad esempio 29.99.

Consulta la watchlist

Invia /list per vedere gli ASIN aggiunti e le rispettive soglie. L'elenco mostra il nome generico assegnato dal programma e non il titolo della pagina Amazon.

Richiedi un controllo quando ti serve

Invia /check per interrogare gli URL presenti nella watchlist. Una risposta di prezzo arriva solo quando la richiesta HTTP va a buon fine e uno dei selettori del codice individua un prezzo.

Rimuovi un elemento non più utile

Invia /remove seguito dall'ASIN mostrato da /list. Il bot conferma la rimozione se trova quell'ASIN nella watchlist corrente.

Ricrea la lista dopo un riavvio

Poiché la watchlist è solo in memoria, dopo l'arresto o il riavvio del programma aggiungi nuovamente gli URL che vuoi controllare.

Casi pratici

Controllo personale di un articolo in lista desideri

Vuoi verificare occasionalmente il prezzo di un prodotto Amazon senza dover cercare ogni volta la pagina manualmente.

  1. Avvia il programma con BOT_TOKEN e CHAT_ID configurati.
  2. Invia /add con un URL nel formato /dp/ASIN e una soglia con punto decimale.
  3. Invia /check quando vuoi aggiornare il controllo.
  4. Apri la pagina del prodotto per verificare prezzo e condizioni effettive.

Ottieni nella chat del bot il prezzo che il programma riesce a leggere per quell'URL e il confronto con la soglia impostata.

Piccola lista privata per una persona autorizzata

Gestisci pochi URL per un tuo uso interno e vuoi tenere l'elenco dei prodotti e delle soglie nella stessa chat Telegram.

  1. Mantieni il bot e la chat privati.
  2. Aggiungi ciascun prodotto con /add.
  3. Usa /list per rivedere ASIN e soglie correnti.
  4. Usa /remove per eliminare un elemento non più necessario.
  5. Ricrea gli elementi dopo un riavvio del processo se vuoi conservarli in uso.

Ottieni una watchlist temporanea in memoria, gestibile con i quattro comandi consegnati.

Confronto manuale di più URL

Hai alcuni prodotti con URL validi e desideri richiedere un aggiornamento nello stesso momento, senza assumere che gli avvisi automatici siano attivi.

  1. Inserisci gli URL con /add, uno alla volta.
  2. Controlla con /list che ASIN e soglie siano presenti.
  3. Invia /check.
  4. Confronta le risposte ricevute e verifica le pagine web prima di agire.

Ottieni le risposte del bot per gli URL per i quali il programma riesce a recuperare un prezzo.

Verifica tecnica dopo un cambio di computer

Hai spostato i quattro file consegnati su un altro computer e vuoi verificare che l'ambiente e la configurazione funzionino.

  1. Crea un nuovo ambiente virtuale e installa requirements.txt.
  2. Crea di nuovo .env con i tuoi valori riservati.
  3. Avvia il programma e verifica che non mostri l'errore di configurazione.
  4. Aggiungi un URL di prova valido e invia /check.

Ottieni una verifica pratica dell'avvio, della ricezione dei comandi e del tentativo di lettura del prezzo, senza usare credenziali di esempio.

Consigli

  • Conserva BOT_TOKEN soltanto nel tuo file .env o nel gestore di variabili d'ambiente del tuo sistema; non inserirlo in README, screenshot o repository pubblici.
  • Usa il bot in una chat privata e non condividere il suo accesso con persone non autorizzate: il codice consegnato non applica filtri per utente o chat ai comandi.
  • Prima di aggiungere molti elementi, prova un solo URL con /check e verifica che il bot riesca a rispondere con un prezzo.
  • Usa URL prodotto che contengano chiaramente /dp/ e l'ASIN di 10 caratteri; altri formati vengono rifiutati dal comando /add.
  • Scrivi la soglia con il punto decimale, per esempio 29.99, perché il comando converte il valore con la funzione Python float.
  • Annota altrove gli URL e le soglie importanti, perché il programma non conserva la watchlist dopo il riavvio.
  • Non considerare il prezzo estratto come conferma di disponibilità, promozione, tasse, spedizione o prezzo finale: controlla sempre la pagina prima di qualsiasi decisione.
  • Usa /check con moderazione e rispetta termini di servizio, robots.txt e limiti di richiesta del sito consultato.
  • Tieni aggiornato l'ambiente Python e reinstalla le dipendenze dal file consegnato se sposti il progetto su un altro computer.
  • Se scegli un server o un Raspberry Pi sempre acceso, proteggi l'accesso al dispositivo e verifica i costi e le condizioni dell'eventuale fornitore.

Risoluzione dei problemi

All'avvio compare ERRORE DI CONFIGURAZIONE e il programma termina.

BOT_TOKEN o CHAT_ID non sono presenti, sono vuoti oppure iniziano con il segnaposto YOUR_. Crea o correggi il file .env nella cartella del programma con BOT_TOKEN e CHAT_ID reali, oppure imposta le due variabili nell'ambiente del sistema. Riavvia poi il comando.

La guida cita .env.example, ma non trovo quel file nel pacchetto.

L'archivio consegnato contiene README.md, README.en.md, requirements.txt e telegram-bot-amazon-monitor.py; .env.example non è stato consegnato. Crea manualmente un file .env nella stessa cartella del programma e inserisci BOT_TOKEN e CHAT_ID, una variabile per riga.

Python segnala che manca telegram, aiohttp, bs4, dotenv o un'altra libreria.

Le dipendenze non sono state installate nell'interprete Python con cui stai avviando il programma. Attiva l'ambiente virtuale creato per il progetto e riesegui pip install -r requirements.txt prima di avviare il file.

Il bot risponde che l'URL Amazon non è valido.

Il comando /add cerca nell'URL il formato /dp/ seguito da un ASIN di 10 caratteri composti da lettere maiuscole o numeri. Usa un URL prodotto che contenga esplicitamente /dp/<ASIN_DI_10_CARATTERI> e invialo come primo argomento di /add.

Dopo /check ricevo il messaggio di controllo in corso, ma nessun prezzo per un prodotto.

Il codice non invia una risposta per quell'elemento se la richiesta HTTP non restituisce stato 200 o se nessuno dei selettori di prezzo trova un valore nella pagina. Verifica che l'URL si apra normalmente, che la connessione del computer sia disponibile e che il formato della pagina non sia cambiato. Riprova in seguito senza aumentare inutilmente le richieste.

Il comando /add non funziona con una soglia scritta con la virgola.

Il programma converte il secondo argomento direttamente con float e non gestisce una virgola decimale o testo non numerico. Inserisci una cifra con il punto decimale, per esempio 29.99.

Dopo aver riavviato il programma, /list non mostra più i prodotti aggiunti.

watchlist è un dizionario in memoria e il programma non implementa il salvataggio persistente. Aggiungi di nuovo gli URL con /add dopo ogni riavvio e conserva esternamente l'elenco degli URL e delle soglie.

Non arrivano avvisi automatici dopo un'ora.

La funzione monitor_loop contiene un'attesa di 3600 secondi, ma nel file consegnato main non avvia quella funzione. Nella versione consegnata usa /check per eseguire il controllo manuale. Non dare per attivi gli avvisi automatici finché il comportamento del programma non viene modificato e verificato in un ambiente sicuro.

Un'altra persona può usare i comandi del bot.

I gestori dei comandi non controllano l'utente Telegram o la chat da cui arriva la richiesta. Mantieni privato l'uso del bot e non condividere il suo accesso. Non usarlo per dati riservati o in contesti in cui sia necessario un controllo degli accessi.

Limiti da conoscere

  • Il pacchetto non fornisce un sistema di autenticazione degli utenti Telegram, quindi non è adatto alla condivisione aperta o alla gestione di dati riservati.
  • Il prezzo viene estratto da HTML con pochi selettori; pagine diverse, blocchi, richieste non riuscite o modifiche del sito possono impedire il risultato.
  • La soglia e il prezzo mostrati sono informativi. Non sono una garanzia di disponibilità, sconto, prezzo finale, condizioni di vendita o convenienza economica.
  • Il ciclo di avvisi automatici non è avviato dal file consegnato; il comportamento verificabile dall'interfaccia del bot è il controllo manuale con /check.
  • La watchlist non persiste dopo lo spegnimento o il riavvio del processo.
  • Quando interroghi siti web, rispetta termini di servizio, robots.txt, limiti di richiesta e norme applicabili. Non usare il programma per aggirare blocchi o restrizioni.
  • Non pubblicare token, chat ID o altri dati personali. Se usi il bot per altre persone, fornisci un'adeguata informativa privacy e non raccogliere password, carte o dati non necessari.

Domande frequenti

Quali file del pacchetto sono in italiano e quali in inglese?

README.md è in italiano e README.en.md è in inglese. requirements.txt è un elenco tecnico di dipendenze; telegram-bot-amazon-monitor.py ha commenti e messaggi del bot in italiano.

Dove trovo .env.example?

Non è presente nell'archivio consegnato, nonostante sia citato nel README. Crea tu un file .env nella cartella del programma con BOT_TOKEN e CHAT_ID.

Quale formato di URL accetta /add?

Il codice accetta un URL che contenga /dp/ seguito da un ASIN di 10 caratteri maiuscoli o numeri. Non verifica esplicitamente il dominio Amazon nel comando.

Il bot invia davvero avvisi automatici?

Il sorgente contiene una funzione per controlli orari e invii Telegram, ma la funzione principale non la avvia. Con il file consegnato usa /check per il controllo manuale.

Perché nell'elenco non vedo il titolo del prodotto?

Quando aggiungi un elemento, il programma salva come nome Prodotto seguito dall'ASIN. La funzione che potrebbe leggere un titolo dalla pagina non viene chiamata dal flusso dei comandi.

Devo lasciare acceso un computer?

Per ricevere e gestire comandi il processo Python deve essere in esecuzione. Il README suggerisce un server o Raspberry Pi sempre acceso, ma controlla prezzi e condizioni del fornitore se scegli infrastruttura esterna.