La quarantena cominciata a Marzo 2020 ha dato sfogo a molte delle mie idee. Tra queste c’era proprio quella di ricercare facilmente il miglior prezzo per degli specifici giochi, diciamo una sorta di "Trovaprezzi" specializzato solo nella ricerca di videogiochi. Anche perché, diciamolo, in questo periodo di chiusura forzata la voglia di videogiocare è aumentata in quasi tutti. Ecco perché ho deciso di creare questo strumento.
Inizialmente il progetto era diventato un semplice scraper di prezzi dal sito allkeyshop.com ma il suo funzionamento non mi soddisfaceva. Così, un giorno, su Reddit ho scoperto una lista di API free tra le quali ho scovato proprio un servizio gratuito che mette a disposizione prezzi in tempo reale dal web: cheapshark.com. Il servizio è a disposizione di tutti ed è sostenuta anche da una discreta documentazione: https://apidocs.cheapshark.com/?version=latest.
Quello che faccio è una semplice GET, tramite client di Guzzle, a questo endpoint:
https://www.cheapshark.com/api/1.0/games?title=$query&limit=5&exact=0
Dove $query è il nome del gioco da cercare, pulito tramite la funzione urlencode() di PHP.
Dopo aver trovato la lista dei giochi prendo i loro id e, con un’unica chiamata, cerco informazioni specifiche per ognuno dei risultati della ricerca effettuata prima.
https://www.cheapshark.com/api/1.0/games?ids=implode(',', $cheapestDealIds)
Dove $cheapestDealIds sono gli id dei giochi scontati contenuti in un array.
A quel punto formatto i vari risultati e mando al mio bot i messaggi con tanto di immagine e link. Come richiesto dai creatori di CheapShark i link sono in realtà dei redirect a una loro pagina, che a loro volta ti reindirizzano al gioco vero e proprio, questo perché in tal modo possono guadagnare qualcosa dal traffico che si crea sul loro sito.
Quindi, per chi volesse cercare i giochi ai prezzi migliori sul mercato semplicemente inviando un messaggio via Telegram con il nome del gioco in questione, potrà farlo tramite il mio nuovissimo bot: