paolofrancioso / telegrambot-amazon-bitly

Bot Telegram per Offerte
MIT License
13 stars 0 forks source link

Problemi risolti? #2

Closed Alex87a closed 9 months ago

Alex87a commented 1 year ago

Salve, sono stato reindirizzato qui grazie a un tuo commento sul codice originale. Dal momento che lo sviluppatore di origine è da molto tempo assente e non ha mai pensato a chi poneva delle domande o aveva problemi, mi chiedevo se questa tua repository è priva di quelle problematiche presenti in quella originaria. In maniera particolare, avevo problemi legati all'errore 429, Too Many Request che, a quanto ho capito, ha un limite in base alle vendite effettuate per ogni account. Grazie all'implementazione di Bitly, questo limite è stato superato? Grazie in anticipo.

paolofrancioso commented 1 year ago

Buonasera Alex,

questa versione del repository funziona correttamente (almeno per me e altre persone che lo utilizzano). Nel caso si abbia un errore per le troppe richieste, questo è gestito lato Amazon ed indipendente dal repository, ma nella precedente versione c'erano diversi casi in cui venivano "sparate" centinaia di chiamate non necessarie. Ad esempio: se richiedo 20 pagine di articoli, ma dopo 2 ho esaurito gli articoli da mostrare, questa versione blocca le successive 18 chiamate. Altri errori presenti nella vecchia versione erano relativi a delle eccezioni non gestite che mandavano di fatto in loop infinito il bot bruciando centinaia di chiamate in pochi secondi. In generare il bot non è fatto per spammare selvaggiamente, ma credo che qualche decina di articoli al giorno vengano supportati senza problemi. La procedura che raccomando è quella di lanciare il bot, verificare che arrivi correttamente il messaggio (o i messaggi) e verificare che la "wait" funzioni correttamente. Una volta che tutto è controllato, si schedula e si lascia andare. Bitly serve più che altro per rendere più corto e carino il link e per avere le statistiche dei click, ma non risolve in sè il problema delle chiamate (anzi, purtroppo i nuovi account bitly hanno pochi link gratuiti al mese, io uso dei vecchi account da 1000 link al mese). Attenzione alle categorie (che devono essere in inglese). Spero di essere stato utile.

Alex87a commented 1 year ago

Salve Paolo, ti ringrazio per la spiegazione esaustiva. sono riuscito a configurare correttamente il bot, va molto bene. Tuttavia a questo punto vorrei hostarlo su un sito come Heroku. È possibile fare qualcosa del genere o comunque hai qualche alternativa da darmi per farlo runnare all'infinito (seppur nelle ore prefissate)? Grazie in anticipo!

paolofrancioso commented 1 year ago

Ciao Alex,

io utilizzo un vps contabo, per cui per me è abbastanza semplice. Se vuoi utilizzare Heroku sicuramente è fattibile, ma non ho delle istruzioni precise. Quello che puoi fare è pushare il tuo progetto locale su heroku:

https://help.heroku.com/CKVOUPSY/how-to-switch-deployment-method-from-github-to-heroku-git-with-all-the-changes-app-code-available-in-a-github-repo

poi credo serva un procfile per indicare quale file.py startare come servizio heroku.

Il giorno mer 5 apr 2023 alle ore 12:29 Alex87a @.***> ha scritto:

Salve Paolo, ti ringrazio per la spiegazione esaustiva. sono riuscito a configurare correttamente il bot, va molto bene. Tuttavia a questo punto vorrei hostarlo su un sito come Heroku. È possibile fare qualcosa del genere o comunque hai qualche alternativa da darmi per farlo runnare all'infinito (seppur nelle ore prefissate)? Grazie in anticipo!

— Reply to this email directly, view it on GitHub https://github.com/paolofrancioso/telegrambot-amazon-bitly/issues/2#issuecomment-1497265856, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEUEX3F4MYUAX7PDKT6Z4BTW7VCRTANCNFSM6AAAAAAWJNXEO4 . You are receiving this because you commented.Message ID: @.***>

Alex87a commented 1 year ago

Salve Paolo, alla fine si sono verificati i problemi che lamentavo anche precedentemente, solamente che, stranamente, il post è stato inviato lo stesso al canale.

Error calling PA-API 5.0! Status code: 429 Errors : {"__type":"com.amazon.paapi5#TooManyRequestsException","Errors":[{"Code":"TooManyRequests","Message":"The request was denied due to request throttling. Please verify the number of requests made per second to the Amazon Product Advertising API."}]} Request ID: INFO:root: Requests Completed Creating post INFO:bitlyshortener.shortener:Serially retrieved 1 short URLs in 0.7s at a rate of 1/s. Cache state is: hits=0, currsize=1, hit_rate=0%, size_rate=0% INFO:root: Sending posts to channel

È normale che l'abbia postato lo stesso? Rischio comunque qualcosa se continuo a postare in queste condizioni?

paolofrancioso commented 1 year ago

Quanti post fai alla volta e quant'è la pausa tra un post e l'altro?

Il giorno gio 6 apr 2023 alle ore 12:18 Alex87a @.***> ha scritto:

Salve Paolo, alla fine si sono verificati i problemi che lamentavo anche precedentemente, solamente che, stranamente, il post è stato inviato lo stesso al canale.

Error calling PA-API 5.0! Status code: 429 Errors : {"__type":"com.amazon.paapi5#TooManyRequestsException","Errors":[{"Code":"TooManyRequests","Message":"The request was denied due to request throttling. Please verify the number of requests made per second to the Amazon Product Advertising API."}]} Request ID: INFO:root: Requests Completed Creating post INFO:bitlyshortener.shortener:Serially retrieved 1 short URLs in 0.7s at a rate of 1/s. Cache state is: hits=0, currsize=1, hit_rate=0%, size_rate=0% INFO:root: Sending posts to channel

È normale che l'abbia postato lo stesso? Rischio comunque qualcosa se continuo a postare in queste condizioni?

— Reply to this email directly, view it on GitHub https://github.com/paolofrancioso/telegrambot-amazon-bitly/issues/2#issuecomment-1498831051, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEUEX3DH4VLBPGABXVA7AEDW72J6VANCNFSM6AAAAAAWJNXEO4 . You are receiving this because you commented.Message ID: @.***>

Alex87a commented 1 year ago

Esclusivamente stamattina ho optato per 5 post contemporaneamente per fare delle prove e capire se funzionasse tutto correttamente, con una pausa di 5 minuti tra un gruppo e l'altro. Sicuramente avrò esagerato, secondo te questo errore sparirà se riproverò tra qualche giorno?

paolofrancioso commented 1 year ago

Ciao, 5 post ogni 5 minuti è un po' troppo anche perchè per fare 5 post il sistema fa decine di chiamate :) Il blocco è lato Amazon e teoricamente dovrebbe resettarsi al termine della giornata.

Il giorno gio 6 apr 2023 alle ore 14:27 Alex87a @.***> ha scritto:

Esclusivamente stamattina ho optato per 5 post contemporaneamente per fare delle prove e capire se funzionasse tutto correttamente, con una pausa di 5 minuti tra un gruppo e l'altro. Sicuramente avrò esagerato, secondo te questo errore sparirà se riproverò tra qualche giorno?

— Reply to this email directly, view it on GitHub https://github.com/paolofrancioso/telegrambot-amazon-bitly/issues/2#issuecomment-1498983339, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEUEX3DEGKMLWZMRYKID34LW72ZDDANCNFSM6AAAAAAWJNXEO4 . You are receiving this because you commented.Message ID: @.***>

Alex87a commented 1 year ago

Ok ti ringrazio, proverò magari tra 24 ore per vedere se mi riporterà qualche errore. Buona giornata!

Alex87a commented 1 year ago

Buongiorno Paolo, problema risolto. Consiglio però di mettere il time.sleep a 5 secondi piuttosto che 1, non vorrei facesse delle richieste troppo velocemente. Sono qui però per aver riscontrato un ulteriore problema, sicuramente un bug; l'errore in questione è il seguente:

Printing Errors:

Printing First Error Object from list of Errors

Error code NoResults

Error message No results found for your request.

Deduco non abbia trovato ulteriori risultati con le mie parole chiave, sebbene dopo abbia continuato a postare correttamente. Si può risolvere?

paolofrancioso commented 1 year ago

Ciao,

è già stato inserito un controllo che se non trova risultati smette di cercare. Non vorrei fosse andato in errore al primissimo tentativo e quindi non è riuscito a trovare nessuna corrispondenza. In questo caso almeno una volta deve provare. Se riesci a capire che parole chiave stava cercando forse riusciamo a capire meglio il caso specifico.

Il giorno ven 7 apr 2023 alle ore 11:28 Alex87a @.***> ha scritto:

Buongiorno Paolo, problema risolto. Consiglio però di mettere il time.sleep a 5 secondi piuttosto che 1, non vorrei facesse delle richieste troppo velocemente. Sono qui però per aver riscontrato un ulteriore problema, sicuramente un bug; l'errore in questione è il seguente:

Printing Errors:

Printing First Error Object from list of Errors

Error code NoResults

Error message No results found for your request.

Deduco non abbia trovato ulteriori risultati con le mie parole chiave, sebbene dopo abbia continuato a postare correttamente. Si può risolvere?

— Reply to this email directly, view it on GitHub https://github.com/paolofrancioso/telegrambot-amazon-bitly/issues/2#issuecomment-1500114857, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEUEX3BRG3LRDXQC7ZJ5Q4LW77M2NANCNFSM6AAAAAAWJNXEO4 . You are receiving this because you commented.Message ID: @.***>

cusci commented 1 year ago

Ciao ricevo questo errore Error calling PA-API 5.0! Status code: 400 Errors : {"__type":"com.amazon.paapi5#ValidationException","Errors":[{"Code":"InvalidParameterValue","Message":"The value Category provided in the request for SearchIndex is invalid. Refer https://webservices.amazon.it/paapi5/documentation/locale-reference/italy.html#search-index for valid values."}]}
come va configurata la sezione categorie # ***** Categories and Keywords ***** CATEGORIES = { "Category": [ "Sport" ] }

paolofrancioso commented 1 year ago

Ciao ricevo questo errore

`Error calling PA-API 5.0!

Status code: 400

Errors : {"__type":"com.amazon.paapi5#ValidationException","Errors":[{"Code":"InvalidParameterValue","Message":"The value Category provided in the request for SearchIndex is invalid. Refer https://webservices.amazon.it/paapi5/documentation/locale-reference/italy.html#search-index for valid values."}]}

`

come va configurata la sezione categorie

`# Categories and Keywords

CATEGORIES = {

"Category": [

    "Sport"

]

}

`

Ciao, l'errore sta in "Category". Le categorie sono in inglese e devono far parte ma di un elenco specifico di amazon di "Search Index"

Controlla il link seguente per i valori ammessi:

https://webservices.amazon.com/paapi5/documentation/locale-reference/united-states.html

(Tabella con I search Index, colonna sinistra). Il valore tra le quadre è la keyword esempio "cappello baseball".

cusci commented 1 year ago

perdonami ho messo all `# Categories and Keywords CATEGORIES = { "Category": [ "All" ] }

Amazon Parameters

MAX_PAGE_SEARCH = 10 MIN_SAVING_PERCENT = 5 ITEMS_PER_PAGE = 20 MIN_REVIEWS_RATING = 1 ITEM_CONDITION = "New" BASE_URL = "www.amazon.it"`

e mi da errore. puoi farmi un esempio

paolofrancioso commented 1 year ago

Categories = { "All":["pippo"] }

È proprio "category" che va sostituita con la categoria del search index. Tra quadre solo le parole chiave.

cusci commented 1 year ago

in sostanza devo per forza mettere la parola chiave? ho messo all ma va in loop infinito INFO:root:***** Requests Completed ***** ***** Creating post ***** INFO:root:***** Requests Completed ***** ***** Creating post ***** INFO:root:***** Requests Completed ***** ***** Creating post ***** INFO:root:***** Requests Completed *****

paolofrancioso commented 1 year ago

Categories = { "All":["pippo"] }

All rappersenta la categoria di ricerca...quindi elettronica, casa e cucina, ecc..All vuol dire qualsiasi categoria. Pippo è la parola chiave ed è come digitare nella barra di ricerca di amazon una parola per trovare i prodotti associati. In genere chi vuole usare questo tipo di BOT è perchè vuole sponsorizzare dei prodotti specifici.

Il programma fa in loop infinito nel senso che si attende ogni tot tempo di effettare una nuova ricerca su amazon per postare dei nuovi articoli.

BOT PARAMETERS

NUMBER_OF_MESSAGES = 2

Questo vuol dire che pubblica due messaggi "a run"

BOT ACTIVITY TIME

MIN_HOUR = 9 MAX_HOUR = 24 PAUSE_MINUTES = 270

Questo significa che ogni 270 minuti e solo dalle 9 alle 24 vengono pubblicati i suddetti due messaggi.

Può essere che non hai copiato magari questi parametro nel consts.py?

cusci commented 1 year ago

queste i parametri inseriti

`# BOT ACTIVITY TIME MIN_HOUR = 9 MAX_HOUR = 24 PAUSE_MINUTES = 5

BOT PARAMETERS

NUMBER_OF_MESSAGES = 1 `

`# Categories and Keywords CATEGORIES = { "All": [ ] }

Amazon Parameters

MAX_PAGE_SEARCH = 10 MIN_SAVING_PERCENT = 20 ITEMS_PER_PAGE = 20 MIN_REVIEWS_RATING = 1 ITEM_CONDITION = "New" BASE_URL = "www.amazon.it"`

questo è il risultato

***** Creating post ***** INFO:root:***** Requests Completed ***** ***** Creating post ***** INFO:root:***** Requests Completed ***** ***** Creating post ***** INFO:root:***** Requests Completed ***** ***** Creating post ***** INFO:root:***** Requests Completed ***** ***** Creating post ***** INFO:root:***** Requests Completed ***** ***** Creating post ***** INFO:root:***** Requests Completed ***** ***** Creating post ***** INFO:root:***** Requests Completed *****

non c'è un modo per mettere tutte le categorie?

paolofrancioso commented 1 year ago

Devi inserire tutti i parametri del consts template, non solo alcuni…anche il numero di messaggi e il tempo di pausa :)

All è già tutte le categorie, ma devi dire cosa cerchi per ogni categoria (nell’esempio fa vedere come cercare in due categorie).

Il giorno mer 31 mag 2023 alle 20:52 Cuscì @.***> ha scritto:

queste i parametri inseriti

`# Categories and Keywords CATEGORIES = { "All": [ ] } Amazon Parameters

MAX_PAGE_SEARCH = 10 MIN_SAVING_PERCENT = 20 ITEMS_PER_PAGE = 20 MIN_REVIEWS_RATING = 1 ITEM_CONDITION = "New" BASE_URL = "www.amazon.it"`

questo è il risultato

Creating post INFO:root: Requests Completed Creating post INFO:root: Requests Completed Creating post INFO:root: Requests Completed Creating post INFO:root: Requests Completed Creating post INFO:root: Requests Completed Creating post INFO:root: Requests Completed Creating post INFO:root: Requests Completed

non c'è un modo per mettere tutte le categorie?

— Reply to this email directly, view it on GitHub https://github.com/paolofrancioso/telegrambot-amazon-bitly/issues/2#issuecomment-1570749677, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEUEX3FWDFFXS63ABLDQJJ3XI6HO7ANCNFSM6AAAAAAWJNXEO4 . You are receiving this because you commented.Message ID: @.***>

cusci commented 1 year ago

scusami avevo modificato il messaggio. questi sono i valore del const tolte le api

` BOT ACTIVITY TIME

MIN_HOUR = 9 MAX_HOUR = 24 PAUSE_MINUTES = 5

BOT PARAMETERS NUMBER_OF_MESSAGES = 1

Categories and Keywords

CATEGORIES = { "All": [] }

Amazon Parameters MAX_PAGE_SEARCH = 10 MIN_SAVING_PERCENT = 20 ITEMS_PER_PAGE = 20 MIN_REVIEWS_RATING = 1 ITEM_CONDITION = "New" BASE_URL = "www.amazon.it"

sai aiutarmi per cercare le offerte su tutte le categorie e non inserendo un keywords?