Skip to main content

Link d'invito ad personam

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ù.

  • canale radar: https://t.me/FolloWhiteRabbit_bot?start=eventschatinvite
  • gruppo offtopic: https://t.me/FolloWhiteRabbit_bot?start=offtopicchatinvite
  • ...il comando /deeplinks restituisce 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)

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.