Ejemplo n.º 1
0
def setTime(client,message,query):
    result = 0
    temp = []
    while("s" in query or "m" in query or "h" in query or "gg" in query):
        try:
            if "gg" in query:
                temp = query.split("gg")
                result += int(temp[0]) * time_dict["gg"]
                query = temp[1]
            if "h" in query:
                temp = query.split("h")
                result += int(temp[0]) * time_dict["h"]
                query = temp[1]
            if "m" in query:
                temp = query.split("m")
                result += int(temp[0]) * time_dict["m"]
                query = temp[1]
            if "s" in query:
                temp = query.split("s")
                result += int(temp[0]) * time_dict["s"]
                query = temp[1]
        except:
            return ugc.sendMessage(client,message,"__formato non valido__")
    if(checktime(result) or result == 0):
        return ugc.sendMessage(client,message,"__Range tempo promemoria non valido__")
    return result
Ejemplo n.º 2
0
def help(query, client, message):
    help_file = ugc.get_config_file("help.json")
    if query in help_array:
        help_request = help_file[query][0:]
        help_request = str(help_request).replace("(", "").replace(
            ")", "").replace('"', '').replace(",", "").replace(r'\n', '\n')
        return ugc.sendMessage(client, message, help_request)
    else:
        help_request = help_file["default"]
        return ugc.sendMessage(client, message, help_request)
Ejemplo n.º 3
0
def urban_search(query,client,message):
    result = ""
    defs = ud.define(query)
    if len(defs) == 0:
        return sendMessage(client,message,"__Error 404: not found__")
    for item in defs:
        result += "**" + item.word + "**"
        result += "\n**Definition:**\n" + item.definition + "\n"
        result += "**Example:** __" + item.example + "__\n\n"
        result += "++++++++++++++++++++++++++++++++\n"
    return sendMessage(client,message,result)
Ejemplo n.º 4
0
def set_reminder(query,client,message):
    split = query.split(";")
    countdown = setTime(client,message,split[0])
    if(countdown is None):
        return
    try:
        msg = split[1]
    except:
        return ugc.sendMessage(client,message,"__formato non valido__")
    ugc.sendMessage(client,message,"Te lo ricorderò!")
    time.sleep(countdown)
    return ugc.sendMessage(client,message,msg)
Ejemplo n.º 5
0
def execute_lyrics(query,client,message):
    parametri = query.split(",")
    if len(parametri) > 1:
        result = get_lyrics_formated(parametri[0],parametri[1])
    else:
        result = search_songs(parametri[0])
    return sendMessage(client,message,result)
Ejemplo n.º 6
0
def vaccinepoints(client,message,split_query):
    if(len(split_query) == 1):
        return ugc.sendMessage(client,message,"__Errore formato.\n/helprob vaccine per più dettagli sul comando.__")
    data_points = vaccine_format_json('https://raw.githubusercontent.com/italia/covid19-opendata-vaccini/master/dati/punti-somministrazione-latest.json')
    if(check_repo(data_points)):
        return ugc.sendMessage(client,message,"__Errore repository sorgente__")
    result = "__**Punti di somministrazione trovati nella provincia di " + split_query[1].title() + "__**\n"
    str_points = ""
    provincia = split_query[1]
    for item in data_points:
        if(provincia[0:6].title() in item["provincia"].title()):
            str_points += "**Punto:**  __" + str(item["presidio_ospedaliero"]).title() + "__ **(" + str(item["comune"]).title() + ")**\n"
    if(str_points == ""):
        result = "__**Nessun punto di somministrazione trovato**__"
    else:
        result += str_points
    return ugc.sendMessage(client,message,result)
Ejemplo n.º 7
0
def play_lotto(query, client, message):
    numbers = []
    while len(numbers) < 6:
        n = random.randint(1, 90)
        if n not in numbers:
            numbers.append(n)
    result = '<code> '
    result += ' '.join(str(n) for n in numbers)
    result += ' </code>'
    return ugc.sendMessage(client, message, result)
Ejemplo n.º 8
0
def vaccine(query,client,message):
    data_total = pd.read_csv('https://raw.githubusercontent.com/italia/covid19-opendata-vaccini/master/dati/vaccini-summary-latest.csv')
    data_consegne_fornitori = pd.read_csv('https://raw.githubusercontent.com/italia/covid19-opendata-vaccini/master/dati/consegne-vaccini-latest.csv')
    data_somministrazioni = pd.read_csv('https://raw.githubusercontent.com/italia/covid19-opendata-vaccini/master/dati/somministrazioni-vaccini-latest.csv')
    total_consegne = 0
    total_somm = 0
    if(query == "/vaccine"):
        total_consegne = sum(data_total["dosi_consegnate"])
        total_somm = sum(data_total["dosi_somministrate"])
        regione = "Italia"
    else:
        for i in data_total['nome_area'].unique():
            if query.title() in i:
                regione = i
        total_consegne = sum(data_total[data_total['nome_area'] == regione]["dosi_consegnate"])
        total_somm = sum(data_total[data_total['nome_area'] == regione]["dosi_somministrate"])
    if(total_consegne == 0):
        return ugc.sendMessage(client,message,"__Errore formato.\n/helprob vaccine per più dettagli sul comando.__")
    perc = str(round(((total_somm * 100) / total_consegne),2))
    giorno = str(data_total["ultimo_aggiornamento"].unique()[0])
    fornitori = data_consegne_fornitori['fornitore'].unique()
    fornitori_somma = []
    forn_str = ""
    prima_dose = seconda_dose = dose_booster = 0
    if(query == "/vaccine"):
        for i in fornitori:
            fornitori_somma.append(sum(data_consegne_fornitori[data_consegne_fornitori['fornitore'] == i]['numero_dosi']))
        prima_dose = sum(data_somministrazioni["prima_dose"])
        seconda_dose = sum(data_somministrazioni["seconda_dose"])
        dose_booster = sum(data_somministrazioni["dose_addizionale_booster"])
    else:
        for i in fornitori:
            fornitori_somma.append(sum(data_consegne_fornitori[(data_consegne_fornitori['fornitore'] == i) & (data_consegne_fornitori['nome_area'] == regione)]['numero_dosi']))
        prima_dose = sum(data_somministrazioni[data_somministrazioni['nome_area'] == regione]["prima_dose"])
        seconda_dose = sum(data_somministrazioni[data_somministrazioni['nome_area'] == regione]["seconda_dose"])
        dose_booster = sum(data_somministrazioni[data_somministrazioni['nome_area'] == regione]["dose_addizionale_booster"])
    for i in range(len(fornitori)):
        forn_str += "**" + fornitori[i] + ":** __" + format_values(fornitori_somma[i]) + "__\n"
    result = "Dati complessivi sui vaccini in __**" + regione + "**__ :\n**__Ultimo aggiornamento: " + giorno + "__**\n\n**Dosi consegnate:** __" + format_values(total_consegne) + "__\n**Dosi somministrate:** __" + format_values(total_somm) + "__\n\n**Percentuale dosi somministrate:** __" + str(perc) + "__\n**Totale prime dosi:** __" + format_values(prima_dose) + "__\n**Totale seconde dosi:** __" + format_values(seconda_dose) + "__\n**Totale dosi booster:** __" + format_values(dose_booster) + "__\n\nTra le dosi consegnate vi sono:\n" + forn_str
    return ugc.sendMessage(client,message,result)
Ejemplo n.º 9
0
def covid_cases(query,client,message):
    regioni = covid_format_json('https://raw.githubusercontent.com/pcm-dpc/COVID-19/master/dati-json/dpc-covid19-ita-regioni-latest.json')
    italia  = covid_format_json('https://raw.githubusercontent.com/pcm-dpc/COVID-19/master/dati-json/dpc-covid19-ita-andamento-nazionale-latest.json')
    trovata = False
    if(check_repo(regioni) or check_repo(italia)):
        return ugc.sendMessage(client,message,"__Errore repository sorgente__")
    for item in regioni:
        if(query.title()[0:5] in item["denominazione_regione"]):
            regione = item["denominazione_regione"]
            nuovi_positivi = str(item["nuovi_positivi"])
            var_positivi = str(item["variazione_totale_positivi"])
            ricoverati = str(item["ricoverati_con_sintomi"])
            terapia_intensiva = str(item["terapia_intensiva"])
            ingressi_ti = str(item["ingressi_terapia_intensiva"])
            isolamento = str(item["isolamento_domiciliare"])
            deceduti = str(item["deceduti"])
            giorno = str(item["data"])[0:10]
            trovata = True
            break
        elif(query == "/covid"):
            for item in italia:
                regione = "Italia"
                nuovi_positivi = str(item["nuovi_positivi"])
                var_positivi = str(item["variazione_totale_positivi"])
                ricoverati = str(item["ricoverati_con_sintomi"])
                terapia_intensiva = str(item["terapia_intensiva"])
                ingressi_ti = str(item["ingressi_terapia_intensiva"])
                isolamento = str(item["isolamento_domiciliare"])
                deceduti = str(item["deceduti"])
                giorno = str(item["data"])[0:10]
                trovata = True
            break
    if(trovata):
        result = "I nuovi positivi in data **" + giorno +"** in __**" + regione + "**__  sono: **" + format_values(nuovi_positivi) + "**\nAttualmente vi sono:\n\n __pazienti ricoverati con sintomi:__ **" +format_values(ricoverati) +"**\n __pazienti in terapia intensiva:__ **" + format_values(terapia_intensiva) + "**\n __pazienti in isolamento domiciliare:__ **" + format_values(isolamento) + "**\n __pazienti deceduti:__ **" + format_values(deceduti) + "**\n\n" + "__ingressi t.i. :__ **" + format_values(ingressi_ti) + "**\n__variazione positivi:__ **" + format_values(var_positivi) + "**"
        return ugc.sendMessage(client,message,result)
    else:
        return ugc.sendMessage(client,message,"__Regione non trovata__")
Ejemplo n.º 10
0
def execute_lyrics(query,client,message):
    parametri = query.split(",")
    result = get_lyrics_formated(parametri[0],parametri[1])
    return sendMessage(client,message,result)
Ejemplo n.º 11
0
def ping(query, client, message):
    return ugc.sendMessage(client, message,
                           "pong " + query.replace("/pingrob", ""))