Link d'invito ad personam
🏴☠️FT
Questa è una funzionalità del bot pensata affinché non sia possibile copiare a mano i link d'invito a canale radar e chat offtopic/taz, che storicamente sono sempre stati link d'invito "fissi", ovvero che non cambiano.
Per fare ciò verranno utilizzati dei dei link speciali, chiamati "deeplink", che quando cliccati portano alla chat privata del bot ed inviano in automatico il comando /start senza necessità di ulteriori interazioni da parte dell'utente. A livello di interfaccia, infatti, quando si clicca su un deeplink, è come aver mandato /start al bot.
Tuttavia, assieme al comando, il bot riceve "silenziosamente" anche dei parametri custom, che nel nostro caso contengono la chat per cui dovrà essere generato un link d'invito.
I deeplink, in sostanza, sono link fissi che permettono a chi li utilizza di chiedere un link di invito "personale" per unirsi ad una determinata chat, senza aggiungere passaggi in più.
Questi link d'invito generat** tramite deeplink, così come il link al gruppo che viene generato quando la richiesta di qualcuno viene approvata, vengono revocati dopo il loro primo utilizzo, e soprattutto il bot tiene traccia dell'utente per cui è stato generato il link. Quindi, in caso di utilizzi non autorizzati, il misfatto (chi ha dato il link a chi) è facile da ricostruire.
I due deeplink al momento utilizzabili sono:
- canale radar: https://t.me/FolloWhiteRabbit_bot?start=eventschatinvite
- gruppo offtopic: https://t.me/FolloWhiteRabbit_bot?start=offtopicchatinvite
- ...il comando
/deeplinksrestituisce l'elenco dei deeplink disponibili (funziona solo nelle chat del network, non in privato)
Lo scopo di questi deeplink è essere utilizzati in comandi custom, messaggi di benvenuto, messaggi fissati, eccetera - al posto di utilizzare i classici link "fissi".
Di seguito un video di come funziona il deeplink per il gruppo offtopic:
Ecco cosa succede quando qualcuno utilizza un deeplink:
- viene controllato se la persona è autorizzata a richiedere un link d'invito per la chat, ovvero:
- canale radar: il link d'invito verrà generato solamente se l'utilizzatore è ancora membro del gruppo principale
- gruppo offtopic: il link d'invito verrà generato solamente se l'utilizzatore è ancora membro del gruppo principale oppure del canale radar
- se la persona è già parte del canale/gruppo, il bot non farà nulla (risponderà soltanto)
- se per questa persona è già stato generato un link d'invito in precedenza che non è ancora stato utilizzato, il bot chiederà di utilizzare quello
- se sono trascorse meno di 3 ore (timeout variabile) dall'ultima volta che è stato generato un link d'invito per la stessa chat, il bot chiederà di attendere (può accadere, ad esempio, in questo caso: l'utente chiede un link, si unisce, abbandona, e poi ri-chiede un link, il tutto in meno di 3 ore)
Il link che il bot genera non permette di unirsi direttamente al gruppo, ma crea una richiesta di ingresso. Questa richiesta d'ingresso viene approvata automaticamente dal bot se il link utilizzato era stato generato per l'utente in questione.
In caso contrario, il bot manda una notifica nel canale modlog (🥷 #RICHIESTA_JOIN_ANOMALA) per notificare un utilizzo non autorizzato di un link d'invito. La richiesta, in questo caso, non viene rifiutata in automatico dal bot: gli admin dovranno decidere cosa fare.
I link d'ingresso generati tramite questo sistema di deeplink, dopo che sono stati utilizzati, vengono revocati in automatico dal bot ed i messaggi con cui sono stati comunicato all'utente eliminati.