saydigital / fungiforme

1 stars 0 forks source link

Evitare GIF duplicate #30

Closed OpenCode closed 2 years ago

OpenCode commented 2 years ago

Controllare che una GIF non sia un duplicato. Ovviamente non potendo confrontare il contenuto ci si può limitare a controllare l'origine.

valeriobelcastro commented 2 years ago

Si potrebbe utilizzare un controllo incrociato tra origine e sul contenuto tramite Pillow, per il contenuto però devono essere della stessa dimensione e esattamente le stesse (ad esempio se controllo una GIF colorata e la stessa in bianco e nero me le restituisce diverse)

OpenCode commented 2 years ago

Si potrebbe utilizzare un controllo incrociato tra origine e sul contenuto tramite Pillow, per il contenuto però devono essere della stessa dimensione e esattamente le stesse (ad esempio se controllo una GIF colorata e la stessa in bianco e nero me le restituisce diverse)

Certo. Si può fare. Ma come giustamente dici tu, la GIF deve essere proprio la stessa. Nulla toglie che si possono fare entrambi i controlli in OR. Controllerei prima il link di origine perché è meno dispendioso e più semplice e poi farei il check che la GIF sia la stessa a livello di file.

Su questo non aggiungerei penalità, però. Manderei solo un warning, per adesso.

valeriobelcastro commented 2 years ago

Si potrebbe utilizzare un controllo incrociato tra origine e sul contenuto tramite Pillow, per il contenuto però devono essere della stessa dimensione e esattamente le stesse (ad esempio se controllo una GIF colorata e la stessa in bianco e nero me le restituisce diverse)

Certo. Si può fare. Ma come giustamente dici tu, la GIF deve essere proprio la stessa. Nulla toglie che si possono fare entrambi i controlli in OR. Controllerei prima il link di origine perché è meno dispendioso e più semplice e poi farei il check che la GIF sia la stessa a livello di file.

Su questo non aggiungerei penalità, però. Manderei solo un warning, per adesso.

Ok... ma le GIF inserite come attachment al messaggio invece che prese dalla sezione GIF di discord vengono ignorate?... perché se controlliamo solo l'origine, uno potrebbe scaricarsi la GIF e postarla come allegato

OpenCode commented 2 years ago

Si potrebbe utilizzare un controllo incrociato tra origine e sul contenuto tramite Pillow, per il contenuto però devono essere della stessa dimensione e esattamente le stesse (ad esempio se controllo una GIF colorata e la stessa in bianco e nero me le restituisce diverse)

Certo. Si può fare. Ma come giustamente dici tu, la GIF deve essere proprio la stessa. Nulla toglie che si possono fare entrambi i controlli in OR. Controllerei prima il link di origine perché è meno dispendioso e più semplice e poi farei il check che la GIF sia la stessa a livello di file. Su questo non aggiungerei penalità, però. Manderei solo un warning, per adesso.

Ok... ma le GIF inserite come attachment al messaggio invece che prese dalla sezione GIF di discord vengono ignorate?... perché se controlliamo solo l'origine, uno potrebbe scaricarsi la GIF e postarla come allegato

Faremo due controlli. Se c'è l'origine controlliamo quello. Se l'esito è negativo (o perché l'origine non c'è o perché non sono la stessa origine) controlliamo il contenuto del file

acorpuz commented 2 years ago

Si potrebbe utilizzare un controllo incrociato tra origine e sul contenuto tramite Pillow, per il contenuto però devono essere della stessa dimensione e esattamente le stesse (ad esempio se controllo una GIF colorata e la stessa in bianco e nero me le restituisce diverse)

Al costo di un aumento di traffico di rete si potrebbe confrontare direttamente l'hash MD5 delle gif. In questo modo se anche si scarica ed uploada la gif l'hash rimane univoco.

OpenCode commented 2 years ago

Ci ho riflettuto e ho pensato che questo tipo di funzionalità non ha molto senso. Dover controllare che una GIF non sia già stata postata, significa prelevare ogni volta i messaggi e fare dei confronti (qualsiasi sia l'algoritmo usato). Discord non ha delle API comode per prelevare i messaggi e quindi questo si tradurrebbe bel "preleva, cicla e controlla". Inoltre non ho intenzione di caricare nel DB informazioni legate alla GIF e pertanto, al momento, l'uso di quell'info è da escludere.

Al netto di questo, reputo superfluo introdurre un controllo del BOT per una questione meramente umana. Se una persona copia una GIF e questa prende voti, non è colpa del BOT o delle regole del gioco. Finiremmo per caricarci di oneri che non competono al BOT.

Alla luce di questo chiudo la issue. Qualora questa situazione dovesse diventare strettamente problematica, la rianalizzeremo a partire da quanto ci siamo detti.

Grazie a tutti, comunque, per gli spunti e le idee.