Questo è il repository del bot di Mozilla Italia "@MozItaBot" su Telegram.
Per segnalare errori aprire un nuovo ticket (si prega di aprire un ticket per ogni errore/idee/bug/ecc, poiché raggrupparli tutti in un unico issue è dispersivo). Il bot è attualmente funzionante, basta cercare su Telegram @MozItaBot e il gioco è fatto.
Grazie a tutti.
Per poter eseguire il codice, quindi far girare il bot, è necessario seguire i seguenti passaggi (in ordine):
pip install -r requirements.txt
Le frasi e il testo contenuto nei bottoni che vengono visualizzati dall'utente quando viene utilizzato il bot sono contenuti nel file frasi.json. È possibile perfino utilizzare l'HTML (vedi sotto "Tag HTML supportati")
Può essere sempre modificato, ma è necessario seguire le seguenti regole:
{{**nome_variabile**}}
I tag HTML supportati da Telegram sono:
<b></b>
: testo in grassetto<i></i>
: testo in corsivo<a href="https://..."></a>
: inserire link<a href="https://github.com/MozillaItalia/mozitahub_bot/blob/master/tg://user?id="></a>
: menzionare un utente sapendo il suo user_id<code></code>
: codice/monospazio<pre></pre>
: codice "preformattato"Altri tag potrebbero mandare il bot in crash
Il funzionamento del bot è molto basilare. Si prefigge l'obiettivo di rendere più dinamico l'approccio di chi vuole avere informazioni su Mozilla e, magari, di chi vuole unirsi nella nostra grande famiglia.
Sono disponibili svariate funzionalità:
Le funzionalità elencate sono tutte intuitive e molto facili da utilizzare. La funzionalità "/admin" è disponibile solo per i moderatori, e permette di gestire alcune impostazioni del bot in maniera rapida. Vedi sezione *Privilegi amministratori.
Inoltre ogni singolo messaggio viene salvato in un file .txt (dentro la cartella history_mozitabot
) per debug in caso di malfunzionamenti del bot:
Ecco ciò che si può fare se si è admin.
Inviare un messaggio agli utenti:
ANTEPRIMA DELL’INVIO: prima di usare ‘avviso’ o ‘all users’ è bene accertarsi che il messaggio scritto sia corretto, anche di sintassi, perciò utilizzare prima questo comando: /admin preview *MESSAGGIO DA INVIARE*
/admin preview Testo messaggio di esempio
/admin avviso *MESSAGGIO DA INVIARE*
/admin avviso Testo messaggio di esempio
/admin all users *MESSAGGIO DA INVIARE*
/admin all users Testo messaggio di esempio
Gestire utenti (iscritti a "Avvisi news"):
Mostrare la lista degli utenti: /admin avvisi list mostra
/admin avvisi list mostra
Aggiungere forzatamente un utente alla lista: /admin avvisi list aggiungi *CHAT_ID*
/admin avvisi list aggiungi 123456789
Rimuovere forzatamente un utente dalla lista: /admin avvisi list elimina *CHAT_ID*
/admin avvisi list elimina 123456789
Gestire progetti (mozilla):
Inserire un nuovo progetto: /admin progetto aggiungi *NOME PROGETTO* *LINK*
/admin progetto aggiungi Esempio nome di progetto https://linkprogetto.it/
Modificare un nuovo progetto: /admin progetto modifica *NOME PROGETTO* *LINK MODIFICATO*
/admin progetto modifica Esempio nome di progetto https://linkprogetto.it
Eliminare un nuovo progetto: /admin progetto elimina *NOME PROGETTO*
/admin progetto elimina Esempio nome di progetto
Gestire progetti comunitari (mozilla italia):
Inserire un nuovo progetto: /admin progetto mozita aggiungi *NOME PROGETTO* *LINK*
/admin progetto mozita aggiungi Esempio nome di progetto https://linkprogetto.it/
Modificare un nuovo progetto: /admin progetto mozita modifica *NOME PROGETTO* *LINK MODIFICATO*
/admin progetto mozita modifica Esempio nome di progetto https://linkprogetto.it
Eliminare un nuovo progetto: /admin progetto mozita elimina *NOME PROGETTO*
/admin progetto mozita elimina Esempio nome di progetto
Gestire collaboratori:
/admin collaboratore aggiungi *NOME COGNOME (@USERNAME)*
/admin collaboratore aggiungi Mario Rossi (@marioRossiTelegram)
/admin collaboratore elimina *NOME COGNOME (@USERNAME)*
/admin collaboratore elimina Mario Rossi (@marioRossiTelegram)
- Scaricare file di log:
/admin scarica *AAAA* *MM* *GG*
/admin scarica 2019 02 10
La lista di tutte le eccezioni catturate (e gestite), è riportata nel file "ECCEZIONI.md".