fbpx

6Magazine

Come controllare costantemente la disponibilità di Playstation 5

Entra a far parte del gruppo Telegram per ricevere subito le notifiche!

Il lancio di PS5 è stato un lancio travagliato. La disponibilità era bassa e la richiesta alle stelle.

Ormai mi conoscete, sapete che sono un ragazzo nerd e che adoro i videogiochi. All’annuncio di PS5 ho preferito non prenotarla convinto del fatto di andarla a ritirare in negozio tranquillamente il giorno dell’uscita.

Così non è stato, le console sono tutte state prenotate nei primi 3 minuti successivi alla presentazione. Moltissime persone che l’hanno prenotata, anche solo il giorno dopo, la riceveranno forse entro Natale 2020.

Il giorno del rilascio al pubblico, il 19 novembre 2020, alcuni store hanno riaperto per qualche istante le prenotazioni dando la possibilità a chi, come me, non l’avesse prenotata, di provare a farsi mettere da parte una console.

Sapevo che tutti i videogiocatori italiani sarebbero stati costantemente ad aggiornare la pagina di Amazon fino a veder spuntare la dicitura “disponibile” e provare ad aggiungerla al carrello alla velocità della luce.

Ho quindi deciso di utilizzare le mie conoscenze in ambito web per cercare di avere un vantaggio e di prenotarla in tempo.

Come tenere aggiornata la pagina di Playstation 5?

La risposta è una sola e, per quanto banale, perfettamente funzionale. Il selettore del pulsante di aggiunta al carrello!

Infatti, quando un prodotto non è disponibile, il pulsante di aggiunta al carrello non è presente nella pagina web.
Mi è bastato quindi fare uno script su Tempermonkey, un’estensione di Google Chrome che permette l’iniezione di codice JavaScript e CSS all’interno della pagina, che aggiornasse ogni secondo la pagina di Amazon e, in caso il selettore del pulsante di aggiunta al carrello fosse disponibile, inviarmi una notifica su Telegram (non sapete come creare il bot di telegram?).

Purtroppo, la notifica è arrivata ma sono stato troppo lento ad acquistarla però posso essere felice del fatto che, lo script per quanto semplice e rudimentale, fosse funzionante al 100%.

Lascio, come sempre, lo script creato per chi volesse utilizzarlo o comunque per chi volesse capire come funziona.

Nota: per aggiungere un nuovo prodotto vi basterà duplicare la riga numero 7 e sostituire il link del prodotto con quello che state cercando. 
Stessa cosa per provare se lo script funziona correttamente, sostituite il link di un prodotto non disponibile con uno disponibile e caricate la pagina. Vedrete che Amazon mostrerà un grosso blocco verde e, se configurato correttamente il bot telegram, riceverete la notifica. 

I link delle due console sono alla riga numero 7 e 8 del successivo codice. Vi basterà copiare e incollarle nel vostro browser per aprirle e far partire lo script.

Marco Giannini

Marco Giannini

Ciao! Piacere, sono Marco Giannini e sono un Full-Stack Developer. Sto lavorando un sacco con PHP e WordPress ma AMO JavaScript e React. Ogni tanto pusho su Github qualcuno dei miei assurdi progetti

Condividi l'articolo

Facebook
LinkedIn
Telegram
WhatsApp
Email

54 commenti su “Come controllare costantemente la disponibilità di Playstation 5”

    1. Ciao Valerio buongiorno.
      Per poter inviare la notifica su Telegram devi creare un bot di Telegram, creare un gruppo su telegram e aggiungere il bot appena creato come amministratore. Dopodiché dovrai ottenere l’ID di quella chat.

      Puoi trovare tutto su Google oppure puoi aspettare le 16, orario in cui uscirà il nuovo
      articolo sul sito che spiegherà proprio come fare questi passaggi.

      Se hai altre domande rispondi pure qui ?

        1. Gentile Marco, ho creato tutto come da te spiegato, ma resto bloccato nel momento in cui devo inserire le API all’interno dello script perchè continua a restituirmi un messaggio di errore, pensi di spiegare questo passaggio nel prossimo articolo? Grazie

          1. Buongiorno Valerio, ti comunico che ho caricato il nuovo articolo su come creare un bot di telegram e ottenere gli ID necessari.

          2. Buona sera Marco, ho seguito tutti i passaggi da te indicati nelle due guide, ma pur non avendo nessun errore di sintassi, ho provato ad aggiungere alcuni articoli di prova, ma non mi arriva nessuna notifica su telegram, dove pensi possa aver sbagliato?

  1. Pingback: Come creare un bot su Telegram

  2. Ciao Marco, io avrei qualche domanda da farti:

    1) Posso monitorare più pagine inserendo i vari link dei prodotti?
    2) Le pagine che sto monitorando devono rimanere aperte su Chrome e quindi di conseguenza il pc deve rimanere acceso?
    3) Se spengo il pc lo script si arresta?
    4) Nel messaggio che restituisce il bot ti dice quale link è stato modificato oppure esce solo “disponibile”?
    5) Se nel caso il bot si arrestasse allo spegnimento del pc è possibile creare un script per smartphone in modo tale da rimanere sempre attivo?

    Grazie per la tua disponibilità.

    1. Ciao Mario, ti rispondo per punti:
      1. Si, basta che aggiungi il link clonando la linea che inizia con //@match URL DI AMAZON sostituendo la url con quella che vuoi tracciare.

      2. Si devono stare aperte e si deve rimanere acceso il pc.

      3. Si

      4. Il bot dice che il prodotto è disponibile e manda il link del prodotto scannerizzato. Ti si aprirà quindi la preview di Amazon già nel messaggio e quindi potrai vedere in un istante di quale prodotto si parla.

      5. No, purtroppo non è possibile. Sto però sviluppando un sistema alternativo funzionante su un server esterno che manda direttamente il link di Amazon quando disponibile senza dover tenere nessun pc acceso ma solo accedendo al gruppo Telegram.

  3. Ciao, ho seguito anche la guida di come si crea il bot e tutto, ma non ho capito ancora come ricevere le notifiche su telegram. Il bot refresha sempre le pagine e i prodotti disponibili li evidenzia di verde. Probabilmente ho sbagliato nella riga 33 o nella 15/16..
    Volevo chiederti 2 cose:
    -nella riga 15 inserisco solo il Token datomi da telegram (ho inserito solo i numeri, va inserita tutta la riga?);
    -su GROUP ho messo l’id del canale di telegram (quello con il – e poi i numeri).
    E infine non ho capito se dentro la riga 33 le cose vanno sostituite o rimane tutto cosi come è stato scritto da te.
    Grazie e scusa il disturbo.

    1. Ciao Nicolas, sembra che tu abbia fatto tutto correttamente. Controlla di aver messo tra ” ” sia il chat id sia il token telegram. Fai attenzione di lasciare anche il - di fronte al chat id.

      In caso continui ad avere problemi scrivimelo che provvedo a contattarti via email.

      1. Ciao Marco, scusami ho provato a seguire la guida alla lettera ma provando a sostituire il link con un altro prodotto su amazon attualmente disponibile continuano a non arrivarmi le notifiche, cosa può essere?
        Grazie mille.
        Il mio codice è questo:

        // ==UserScript==
        // @name New Userscript
        // @namespace http://tampermonkey.net/
        // @version 0.1
        // @description try to take over the world!
        // @author You
        // @match https://www.amazon.it/Sony-PlayStation%C2%AE5-DualSenseTM-Wireless-Controller/dp/B08H99BPJN/ref=sr_1_1?__mk_it_IT=%C3%85M%C3%85%C5%BD%C3%95%C3%91&dchild=1&keywords=ps5&qid=1612447621&sr=8-1
        // @grant none
        // ==/UserScript==

        const TELEGRAM = {
        TOKEN: “1602683625:AAHoPUm3GtNop-obEi1sSAe13bKfL5zPipP0”,
        GROUP: “-1234567890000”
        }

        setTimeout(() => {
        ‘use strict’;
        if(document.querySelector(‘#availability’).textContent.indexOf(‘Non disponibile’) > 0){
        window.location.reload();
        } else {
        document.querySelector(‘#centerCol’).style.backgroundColor = ‘#196B00’
        sendMessage(‘Disponibile su amazon! ‘ + window.location.href);
        }

        }, 1000)

        const sendMessage = (text) => {
        const msg = encodeURIComponent(text)
        fetch(`https://api.telegram.org/bot${TELEGRAM.TOKEN}/sendMessage?chat_id=${TELEGRAM.GROUP}&text=${msg}`)
        }

  4. ciao, volevo chiederti siccome la ps5 risulta disponibile a causa dei venditori di terze parti, c’è un modo per evitare che arrivi la notifica di disponibilità se sono venditori di terze parti? perché il bot mi spamma la disponibilità di una ps5 da 1200 euro

  5. Ciao
    Grazie di tutto , hai fatto un ottimo lavoro
    Ho un problema con il refresh della pagina, non lo fa automaticamente (Chrome )
    Per fare colorare di verde devo premere F5 manualmente, tutto il resto e notifiche telegram sono ok
    Non trovo l’errore .
    Se mi vuoi aiutare mi fai un grande favore
    Grazie

      1. Grazie , mi sono iscritto.
        Sono diventato interessato a questo genere di programmazione.
        Dove posso trovare la descrizione delle tue linee di codice?
        Volevo provare a pasticciare un po’
        Grazie del tempo che mi hai dedicato.
        Saluti

        1. Ciao Igor, sono contento che un articolo possa aver instaurato questa voglia in te. Mi fa davvero molto piacere.
          Questo linguaggio si chiama JavaScript.
          Puoi trovare qualche corso su Udemy per studiare le basi.
          Ti consiglio i corsi di Hidran Arias, tipo questo.

  6. Ciao
    Ho provato a modificare il tuo codice per farlo funzionare su altri siti, (come Unieuro) ma non ci sono riuscito .
    Nella riga
    if(document.querySelector(‘#availability’).textContent.indexOf(‘Non disponibile’) > 0){
    window.location.reload();
    Si cerca la parola non disponibile , ma anche su Unieuro ci sono le stesse parole, ma non le riesce a trovare .
    Grazie se vorrai aiutarmi .

    1. Ciao, non è cosi semplice.
      document.querySelector(‘#availability’) cerca nel codice della pagina l’ID availability. Nella pagina di Unieuro questo elemento non è disponibile, quindi lo script si blocca.
      Per poterlo far funzionare anche con Unieuro c’è bisogno di un cambio completo del codice.

        1. Certo, il problema è che cambia per ogni pagina.
          Purtroppo adesso non ho modo di effettuare un riadattamento per Unieuro. Quello che ti consiglio è di ispezionare la pagina e di cercare il punto del codice che riguarda il pulsante di aggiunta al carrello.
          Devi cercare un ID o una Classe presente solo quando il prodotto è acquistabile, se il prodotto è non disponibile quella classe non deve esserci (o viceversa).

  7. Ciao Marco,
    grazie mille per questa preziosa guida. Mi sono sbizzarrito e credo di essere riuscito a creare uno script ad hoc anche per unieuro (un po’ grezzo ma credo farà il suo sporco lavoro). Ma è normale che ogni tanto lo script si ferma? A volte ho come l’impressione che si blocchi da solo il refresh fino a quando non torno col focus sul tab di chrome.
    Ciao e ancora grazie.

    1. Ciao e complimenti per il risultato!
      Si è possibile che il bot si fermi perché Chrome non riesce più ad avere abbastanza ram.

      Prova a tenere il tab della pagina in questione in una finestra separata, potresti risolvere.

      In bocca al lupo per la ricerca!

  8. Ciao Marco,
    si ti confermo che ho tab di unieuro e amazon aperti in due finestre separate e sta andando. Per quanto riguarda Unieuro sto ispezionando il contenuto innertext di #features.product-details-features verificando che la stringa inizi per “NON DISPONIBILE”. Se hai bisogno di ulteriori dettagli chiedi pure, mi sembra il minimo per ricambiare.
    Ciao,

    1. Ciao sto provando a farlo anche io per unieuro ma non riesco a scrivere lo script in modo corretto, potresti darmi una mano visto che sicuramente tu hai più esperienza di programmazione? Vorrei capire dove sbaglio. ti ringrazio!

    2. Sei un mito! Mi hai risolto un bel grattacapo (non sono del settore purtroppo)

      Allego script:

      // ==UserScript==
      // @name Unieuro
      // @namespace http://tampermonkey.net/
      // @version 0.1
      // @description try to take over the world!
      // @author GennaroDellaQuercia
      // @match https://www.unieuro.it/online/Console-Playstation-5/PlayStation-5-pidSONPS5DISC
      // @grant none
      // ==/UserScript==

      const TELEGRAM = {
      TOKEN: “TOKEN”, //
      GROUP: “-ID”,
      }

      setTimeout(() => {
      ‘use strict’;
      if(document.querySelector(‘#features.product-details-features’).textContent.indexOf(‘Non Disponibile’) > 0){
      window.location.reload();
      } else {
      sendMessage(‘ciao! ‘ + window.location.href);
      }

      }, 1000)

      const sendMessage = (text) => {
      const msg = encodeURIComponent(text)
      fetch(`https://api.telegram.org/bot${TELEGRAM.TOKEN}/sendMessage?chat_id=${TELEGRAM.GROUP}&text=${msg}`)
      }

  9. ciao marco, è possibile avere un servizio del genere per avere la notifica quando è disponibile prenotare un campo ad una determinata ora? sito prenotauncampo.it

  10. CIAO RAGAZZI,
    HO FATTO TUTTO COME D GUIDA, LO SCRIPT FUNZIONA E LE PAGINE VENGONO AGGIORNATE DI CONTINUO INFATTI, MA NON RICEVO LE NOTIFICHE.
    EPPURE IL TOKEN E L’ID DEL CANALE SONO ESATTI E IL BOT E’ STATO ATTIVATO. DOVE SBAGLIO?

  11. Ciao Marco,
    ho seguito la tu ottima guida e tutto funge, ho provato a sostituire il link che avevi usato per la ps5 digital con quello della collector edition di Elden Ring, però anche se il prodotto non è disponibile mi manda il messaggio su Telegram avvisandomi che è disponibile e la pagina diventa verde.

    Puoi aiutarmi? grazie

    1. Scusa ma ho scoperto il problemma è differente la dicitura invece di “Non disponibile”, c’è scritto “Al momento non disponibile”,ho creato un secondo script con la dicitura diversa, questa soluzione da profano, è invece possibile inserire nel tuo script delle parole differenti? oltre a Non disponibile?

    2. Ciao, mi diresti il link del prodotto in questione?
      Se fosse solo quello il Problema sostituisci tutto il codice alla riga 18 con il seguente:
      if((document.querySelector('#availability').textContent.indexOf('Non disponibile') > 0) || (document.querySelector('#availability').textContent.indexOf('Al momento non disponibile') > 0) ){

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Sfoglia le categorie

Condividi 6Magazine

Facebook
LinkedIn
Email
WhatsApp

Vuoi rimettere mano alla tua comunicazione?