ViaLibera Bot .. detto fatto

Questo articolo su StartupItalia insieme alla frase ascoltata ieri “se una città non pensa al proprio futuro, ci penserà qualcun altro a farlo” (Ledo Prato), mi hanno profondamente colpito e ispirato.

Chi mi conosce sa che da civic hacker , quando amici come Matteo Tempestini, Matteo Fortini , Andrea Borruso o Alberto Cottica mi coinvolgono in qualche progetto, non mi tiro mai indietro. E’ proprio una cosa innata, cercare di fare qualcosa per cambiare in meglio la società. E’ un granello di sabbia? sempre meglio che il nulla. 

Ho pensato di fare un bot Telegram (si lo so sono fissato) per segnalare in maniera civica, i casi di infrazioni al codice della strada. E’ molto meglio se siamo in tanti a controllare un territorio e la civiltà di un comunità, che aspettare solo il controllo degli organi preposti. Anzi può essere fondamentale aiutare la Polizia Locale nell’essere più efficace. E’ un’eresia in questo momento in cui si vota con la “pancia” e il governo con tutte le sue appendici (fino al povero vigile urbano) sono tutti “ladroni” .

Non credo che sia cosi ma soprattutto credo che noi stessi siamo la comunità , siamo il territorio. Dobbiamo tenerne cura. Magari segnalando le macchine in doppia fila? parcheggi selvaggi? soste davanti ad accessi per disabili?

Come farlo in mezzo alla strada se non tramite il proprio smartphone? ed ecco perchè Telegram..

Bene, questo (ennesimo) bot è rilasciato in libero riuso con licenza del codice sorgente MIT, il dataset delle segnalazioni rilasciato con licenza CC0 (pubblico dominio). Questo stesso articolo è il licenza CC-BY-SA.

Aprite Telegram e cercate ViaLiberaBot

Come utenti dovete registrarvi in questo modulo google per essere abilitati (dato che è una demo siete automaticamente abilitati appena inviate il modulo) e dovete impostare in Telegram il vostro username (lo trovate in impostazioni,  non è il Nome e Cognome .. lo dovete scegliere voi)

Utenti:

  1. potete inviare una segnalazione o cliccare su istruzioni o info
  2. per inviare una segnalazione è indispensabile avere il GPS attivo. potete cliccare “posizione” oppure la graffetta (in tal caso potete anche simulare una posizione diversa rispetta a quella in cui siete)
  3. potete scrivere un messaggio di testo oppure inviare un FILE (se è una foto dovete sempre inviare un FILE e poi sceglierla dalla Galleria, cosi la foto viene inviata a dimensioni reali e non ridimensionata)
  4. Opzionale: dopo aver inviato il FILE, si può aggiungere un testo, seguendo lo schema t:numerosegnalazione:testo. Esempio t:123:macchina in seconda fila
  5. le vostre segnalazioni insieme a quelle delle altre sentinelle civiche, si visualizzano in questa mappa dove c’è anche il link per scaricare il dataset CSV in Licenza CC0

schermata-2016-11-27-alle-18-36-56

e le segnalazioni arrivano realtime in un gruppo riservato:

schermata-2016-11-27-alle-19-16-21

 

Backend:

  1. supponendo siate della Polizia (nel caso di un’adozione reale da parte di un Comune) o un utente da me autorizzato, entrerete in un gruppo Telegram di servizio dove arriva ogni segnalazione, in tempo reale.
  2. supponendo siate della Polizia(nel caso di un’adozione reale da parte di un Comune) o un utente da me autorizzato, potrete usare la dicitura “a:numerosegnalazione” esempio a:1234. Riceverete un avviso e da questo momento lo stato della segnalazione passa nello stato “gestita“. Nella mappa cambia l’icona della segnalazione divenendo verde e l’utente segnalante riceve automaticamente un messaggio “XY, la tua segnalazione è stata presa in gestione, ti ringraziamo.
  3. in tempo reale cambia mappa e file csv per il download.

 

Quindi lo schema per l’utente è fatto da 2 click: invio posizione e allegare file (o scrivere testo). Per il backend dopo aver dispacciato la segnalazione (immagino alla pattuglia più vicina), deve solo scrivere a:numerosegnalazione. Da parte delle forze dell’ordine quindi è richiesto solo l’inserimento di 1-2 persone della centrale operativa in un gruppo, per poter ricevere realtime tutte le segnalazioni.

Il fatto che l’utente si debba registrare con nome e cognome, username Telegram serve come deterrente alle segnalazioni fake e permette anche un contatto diretto da parte delle forze dell’ordine nei confronti dell’utente segnalante (lo username è univoco nel mondo).

Ultima riflessione: il monitoraggio delle istanze civiche è uno degli items richiesti nel censimento degli opendata di OKFN (Services Request).

Ringrazio i vari amici come Marco Brandizi, Luca Scalzullo, Matteo Enna, che hanno subito provato il bot segnalando ed aiutandomi cosi a testarlo.

Buone segnalazioni a tutti!

ps: ovviamente potete riusare il codice sorgente per qualsiasi altro tipo di segnalazione..degrado urbano? etc.

Approfondimento tecnico per chi vuole personalizzarlo e installarlo sul proprio server

Lo schema logico è questo nel caso vogliate ri-usare il tutto nel vostro Comune:

  1. Create una copia di questo form di Google
  2. Create il documento google sheet per le risposte automatiche (è la sezione “Risposte” nel modulo del punto 1) ) con 2 (due) fogli di calcolo.
  3. fate in alto a destra “condividi->ottieni link condivisible” e poi dal file menu “pubblica sul web -> foglio1-> formato csv
  4. appuntarsi la KEY alfanumerica molto lunga che identifica il file. Esempio “1w9y3NNgVen8m6eAdLTyXsdP5I8YYjNIVAO9DKvnk8X32” , il GID del primo foglio ad esempio “281212344”  e il GID del secondo foglio di calcolo (sono tutte cose che trovate in alto nell’URL del foglio di Google) . Mentre nel foglio uno, che di solito si chiama “Risposte al modulo”,  avrete gli utenti che si sono registrati per l’uso del bot, nel foglio due dovrete copiare la stessa struttura del primo (4 colonne : timestamp, nome, cognome, username) e che compilerete a mano. sono gli utenti autorizzati a modificare le segnalazioni. (vedi dopo)
  5. scaricatevi il codice sorgente del bot e copiatelo sul vostro server. rinominare il file settings_t-config.php in settings_t.php. Inseriteci dentro il Token del bot che avrete creato tramite l’account “botfather” sempre su Telegram, inseriteci la KEY e i due GID del punto 4)
  6. mettete in stato modificabile (nel mio caso con Centos è “chown -R apache:apache db“) la dir “db” e il suo contenuto.
  7. Create un gruppo riservato (quindi almeno 2 persone) e inserite nel gruppo anche il bot. Riceverete nel gruppo un messaggio di errore automatico dal bot che non sa gestire questa cosa. Aprite il file di log che trovate in db/telegram.log e cercate “wrong message” e troverete uno user con il segno negativo. questo numero è l’identificativo del vostro gruppo. Copiatelo e inseritelo nella sezione corrispondente in settings_t.php.
  8. a seconda se usate il webhook in https o un getupdates con un crontab ogni secondo, il bot è già funzionante.

Potrebbero interessarti anche...

Rispondi