Skip to content

A Telegram bot to automate and ease Scambi Festival’s staff workload

License

Notifications You must be signed in to change notification settings

scambifestival/resina

Repository files navigation

Resina Bot - Introduzione

Questa repository contiene il codice sorgente di r3sinabot.

Per sapere ciò su cui stiamo lavorando, vedi Scambi Telegram Bot project.

Nota: Resina Bot è ancora in fase di sviluppo.

Cos'è Resina

Resina è un bot pensato per ausiliare lo staff di Scambi nell'organizzazione interna nonché favorirne la comunicazione e facilitarne l'uso di alcuni strumenti istitutivi attraverso alcune funzionalità, tra le quali:

  1. l'automatizzazione dell'iscrizione dei nuovi membri alla nostra associazione, tramite:
  • la creazione degli account sulle nostre piattaforme;
  • la giunta dell'utente al nostro libro soci;
  1. la facilitazione dell'uso di Pino, il nostro database, da dispositivi mobili;
  2. la collezione delle idee proposte, catalogate tramite appositi hashtag;

ed altre funzioni ancora in fase di progettazione.

Struttura dello script

Lo script del bot, interamente programmato in Pyhton attraverso la libreria Python Telegram Bot, è articolato in diversi moduli:

  • main.py costituisce il core dello script. Al suo interno è definito lo scheletro del bot e descritto il suo comportamento generale;
  • dispatcher.py costituisce l'espressione pratica del comportamento di Resina; in base al valore di ritorno, passato tramite il main, lancia la funzione adibita allo scopo;
  • db_functions.py contiene tutte le funzioni utili all'interazione col database interno, tra cui la connessione e la formulazione di queries;
  • utils.py è una sorta di coltellino svizzero che offre funzioni che possono risultare utili agli altri moduli, come la formulazione della risposta testuale del bot o il salvataggio delle informazioni relative ad un utente;
  • variables.py include tutte quelle variabili che sono necessarie agli altri moduli al fine di garantire il corretto funzionamento dell'intero script.

Il database

Resina interagisce con un database interno basato su SQLite attraverso la libreria sqlite3.

Esso consente di fornire protezione dallo spam e di facilitare l'uso del bot da parte di utenti che ne hanno già fatto uso.

Nota: non si esclude che possa avere altri scopi in futuro.