From e9dc78a1b052ba421fef24cf0ef284dc2a85aabe Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Wed, 21 Sep 2016 15:35:07 +0200 Subject: [PATCH 01/18] Migliorato /ciaoruozi --- bot.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/bot.py b/bot.py index 25e04fba..397942b4 100644 --- a/bot.py +++ b/bot.py @@ -40,9 +40,21 @@ def ciaoruozi(): print("@" + username + ": /ciaoruozi") # Ciao Ruozi. if username.lower() == "ruozir": - telegram.sendmessage("Ciao me", sentin, source) + # Manda un messaggio casuale tra quelli nella lista + chosen_msg = random.sample(["Ciao me!", + "Ciao ciao ciao!", + "1 ciaoruozi = 1000 euro per me", + "La mi dico: #CiaoRuozi", + "Ciao eh me stesso!"], 1) + telegram.sendmessage(chosen_msg, sentin, source) else: - telegram.sendmessage("Ciao Ruozi", sentin, source) + # Manda un messaggio casuale tra quelli nella lista + chosen_msg = random.sample(["Ciao Ruozi!", + "Ciao ciao ciao!", + "1 ciaoruozi = 1 prayer", + "La RYG dice: #CiaoRuozi", + "Ciao eh Ruozi!"], 1) + telegram.sendmessage(chosen_msg, sentin, source) def ombromanto(): From 5fd8c39543691e49098b0f3167c5be870b6642d9 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Wed, 21 Sep 2016 15:36:44 +0200 Subject: [PATCH 02/18] Sistemato /ombromanto --- bot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bot.py b/bot.py index 397942b4..df898478 100644 --- a/bot.py +++ b/bot.py @@ -60,7 +60,7 @@ def ciaoruozi(): def ombromanto(): print("@" + username + ": /ombromanto") # Ma chi è ombromanto? - telegram.sendmessage("Ombromanto è @Dailir, Frank!", sentin, source) + telegram.sendmessage("Ombromanto è @Dailir!", sentin, source) def potatogift(): From 08b3dd7d79bf80320656537448056f164a04f99e Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Wed, 21 Sep 2016 15:37:10 +0200 Subject: [PATCH 03/18] Rimosso /potatogift --- bot.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/bot.py b/bot.py index df898478..cc432004 100644 --- a/bot.py +++ b/bot.py @@ -63,10 +63,6 @@ def ombromanto(): telegram.sendmessage("Ombromanto è @Dailir!", sentin, source) -def potatogift(): - telegram.senddocument("BQADAgADHwQAAh8GgAEmS1UU1zyaLQI", sentin, source) - - def playing(): print("@" + username + ": /playing") # Informa Telegram che il messaggio è stato ricevuto e visualizza Royal Bot sta scrivendo. From 157c0174715d421d541545449c6c2c7e72db48a9 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Wed, 21 Sep 2016 15:56:39 +0200 Subject: [PATCH 04/18] Aggiunto finalmente il nome a /steamplayers --- bot.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/bot.py b/bot.py index cc432004..0195fe23 100644 --- a/bot.py +++ b/bot.py @@ -63,8 +63,8 @@ def ombromanto(): telegram.sendmessage("Ombromanto è @Dailir!", sentin, source) -def playing(): - print("@" + username + ": /playing") +def steamplayers(): + print("@" + username + ": /steamplayers") # Informa Telegram che il messaggio è stato ricevuto e visualizza Royal Bot sta scrivendo. telegram.sendchataction(sentin) cmd = text.split(" ") @@ -75,9 +75,10 @@ def playing(): if n is None: telegram.sendmessage(chr(9888) + " L'app specificata non esiste!", sentin, source) else: - telegram.sendmessage( - 'In questo momento, ' + str(n) + ' persone stanno giocando a [' + cmd[1] + - '](https://steamdb.info/app/' + cmd[1] + '/graphs/)', sentin, source) + name = steam.getschemaforgame(cmd[1])['game']['gameName'] + telegram.sendmessage("In questo momento, *{n}* persone stanno giocando a " + "[{name}](https://steamdb.info/app/{id}/graphs/)." + .format(n=str(n), name=name, id=cmd[1]), sentin, source) else: telegram.sendmessage(chr(9888) + ' Non hai specificato un AppID!\n' 'La sintassi corretta è /playing .', sentin, source) From 20bb8e8db02a8d843ca781149ad5e55d42ea187f Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Wed, 21 Sep 2016 15:57:15 +0200 Subject: [PATCH 05/18] =?UTF-8?q?/ehoh=20=C2=AF\=5F(=E3=83=84)=5F/=C2=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bot.py b/bot.py index 0195fe23..13c117e6 100644 --- a/bot.py +++ b/bot.py @@ -87,7 +87,7 @@ def steamplayers(): def ehoh(): print("@" + username + ": /ehoh") # Rispondi con Eh, oh. Sono cose che capitano. - telegram.sendmessage("Eh, oh. Sono cose che capitano.", sentin, source) + telegram.sendmessage("Eh, oh. Sono cose che capitano. ¯\_(ツ)_/¯", sentin, source) def saldi(): From 6a22dbd8ee7819c9f281042bcfa0717eedbbf1c9 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Wed, 21 Sep 2016 15:58:43 +0200 Subject: [PATCH 06/18] Tolto /saldi, tanto non lo usava nessuno --- bot.py | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/bot.py b/bot.py index 13c117e6..579b051e 100644 --- a/bot.py +++ b/bot.py @@ -90,25 +90,6 @@ def ehoh(): telegram.sendmessage("Eh, oh. Sono cose che capitano. ¯\_(ツ)_/¯", sentin, source) -def saldi(): - print("@" + username + ": /saldi") - # Visualizza il link di isthereanydeal con i saldi di un gioco. - # Informa Telegram che il messaggio è stato ricevuto e visualizza Royal Bot sta scrivendo. - telegram.sendchataction(sentin) - cmd = text.split(" ", 1) - if len(cmd) == 2: - telegram.sendmessage( - 'Visualizza le offerte di ' - '[' + cmd[1] + '](https://isthereanydeal.com/#/search:' + cmd[1].replace(' ', '%20') + - ";/scroll:%23gamelist).", sentin, source) - else: - telegram.sendmessage(chr(9888) + - " Non hai specificato un gioco!" - "[Visualizza tutte le offerte]" - "(https://isthereanydeal.com/#/search:.;/scroll:%23gamelist).", - sentin, source) - - def sbam(): print("@" + username + ": /sbam") # Manda l'audio contenente gli sbam di tutti i membri Royal Games. From 974eff2ab2b23acd802bf67487ab6a83d3064cfa Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Wed, 21 Sep 2016 16:08:12 +0200 Subject: [PATCH 07/18] Aggiunta un easter egg a /roll --- bot.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bot.py b/bot.py index 579b051e..f1f53304 100644 --- a/bot.py +++ b/bot.py @@ -259,14 +259,18 @@ def roll(): try: m = int(cmd[1]) except ValueError: - telegram.sendmessage(chr(9888) + " Il numero specificato non è un intero.", sentin, source) + if cmd[1] == "tm": + telegram.sendmessage("TM è così grassa che se la lanci rotola!") + else: + telegram.sendmessage(chr(9888) + " Il numero specificato non è un intero.", sentin, source) return else: # Imposta il numero massimo a 100. m = 100 # Prova a generare un numero casuale. if m == 34261891881215712181524122318242223183627453833: - telegram.sendmessage("Numero casuale da 1 a _get rekt_:\n*@FrankRekt è scarso*", sentin, source) + telegram.sendmessage("Numero casuale da 1 a _34261891881215712181524122318242223183627453833_:\n" + "*Frank è scarso*", sentin, source) else: try: n = random.randrange(m) + 1 From bd4b6502d1d3e0ee57eefbd0616e7f8dd7a87024 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Wed, 21 Sep 2016 16:08:28 +0200 Subject: [PATCH 08/18] =?UTF-8?q?Tolto=20/automah,=20visto=20che=20gotob?= =?UTF-8?q?=20non=20=C3=A8=20pi=C3=B9=20in=20ryg?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bot.py | 8 -------- 1 file changed, 8 deletions(-) diff --git a/bot.py b/bot.py index f1f53304..cc08efe3 100644 --- a/bot.py +++ b/bot.py @@ -283,14 +283,6 @@ def roll(): source) -def automah(): - print("@" + username + ": /automah") - # Invia il messaggio. - telegram.sendmessage("Automaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa! Devi funzionare, cavolo!", - sentin, - source) - - def cv(): print("@" + username + ": /cv") # Elenco di tutte le persone online su Discord From 46b1ba1511a556755d77f0d5d00c60fa3a537515 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Wed, 21 Sep 2016 16:39:27 +0200 Subject: [PATCH 09/18] Messo a posto alcune cose in /cv --- bot.py | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/bot.py b/bot.py index cc08efe3..c6a66249 100644 --- a/bot.py +++ b/bot.py @@ -285,15 +285,17 @@ def roll(): def cv(): print("@" + username + ": /cv") - # Elenco di tutte le persone online su Discord - tosend = "*Su Discord ora:*\n" + # Ottieni i dati dal server della Royal Games r = discord.getwidgetdata("176353500710699008") - musicstatus = str() + # Elenco di tutte le persone online su Discord + tosend = "*Online su Discord, nel server {servername}:*\n".format(servername=r['name']) + # Qui inizia il codice peggiore di sempre for member in r['members']: m = dict() if 'bot' not in member or not member['bot']: - # Credo di aver scritto il peggior algoritmo di sempre. gg me + # Se una persona è connessa in chat vocale if 'channel_id' in member: + # Controlla il suo stato (esclusa, mutata, normale) e scegli l'emoji appropriata if member['deaf'] or member['self_deaf']: m['emoji'] = chr(128263) elif member['mute'] or member['self_mute']: @@ -301,17 +303,22 @@ def cv(): else: m['emoji'] = chr(128266) m['channelname'] = discord.getchannelname(r, member['channel_id']) + # Altrimenti else: + # Controlla il suo stato (online, in gioco, afk) e scegli l'emoji appropriata if member['status'] == "online": - if 'game' in member: - m['emoji'] = chr(128308) - else: - m['emoji'] = chr(128309) + # Qui giace il pallino rosso se uno era in game, propongo di metterlo per quando uno sta streamando + m['emoji'] = chr(128309) elif member['status'] == "idle": m['emoji'] = chr(9899) + # Aggiungi il nome del gioco a destra del nome if 'game' in member: m['gamename'] = member['game']['name'] - m['name'] = member['username'] + # Visualizza il nickname se presente, altrimenti visualizza l'username + if 'nick' in m: + member['username'] = m['nick'] + else: + m['name'] = member['username'] if 'gamename' in m and 'channelname' in m: tosend += "{emoji} *{channelname}* {name} | _{gamename}_\n".format(**m) elif 'gamename' in m: @@ -323,11 +330,9 @@ def cv(): # Controlla se l'utente è royal music elif member['id'] == "176358898851250176": if 'game' in member: - musicstatus = "{emoji} *{channelname}* {songname}\n" \ + tosend += "{emoji} *{channelname}* {songname}\n" \ .format(emoji="\U0001F3B5", channelname=discord.getchannelname(r, member['channel_id']), songname=member['game']['name']) - if musicstatus != "": - tosend += musicstatus telegram.sendmessage(tosend, sentin, source) From 26886fd1463f6f0f5a8f8c10266fd748a7bc5ee7 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Wed, 21 Sep 2016 16:43:28 +0200 Subject: [PATCH 10/18] =?UTF-8?q?Magari=20cos=C3=AC=20si=20possono=20mette?= =?UTF-8?q?re=20emoji=20nel=20/diario=20=3F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bot.py b/bot.py index c6a66249..29f26a6e 100644 --- a/bot.py +++ b/bot.py @@ -396,7 +396,7 @@ def diario(): cmd = text.split(" ", 1) if len(cmd) > 1: if cmd[1].isprintable(): - cmd[1] = cmd[1].replace("\n", " ") + cmd[1] = cmd[1].replace("\n", " ").encode("unicode_escape") fdiario = filemanager.readfile("diario.txt") fdiario += str(int(time.time())) + "|" + cmd[1] + "\n" filemanager.writefile("diario.txt", fdiario) From 431142a20ef8632155b9c087ba60019bc00044d2 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Wed, 21 Sep 2016 16:48:46 +0200 Subject: [PATCH 11/18] Il /balurage aumenta con ogni invio del comando Si resetta al riavvio. --- bot.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/bot.py b/bot.py index 29f26a6e..654f75e2 100644 --- a/bot.py +++ b/bot.py @@ -17,6 +17,8 @@ lolfreestring = str() random.seed() +# Livello di balurage dall'ultimo riavvio +ragelevel = 0 # Spostiamo qui le funzioni del bot, così è un po' più leggibile def wow(): @@ -420,8 +422,12 @@ def leggi(): def balurage(): print("@" + username + ": /balurage") # Rispondi commentando l'E3. - telegram.sendmessage("MADDEN MADDEN MADDEN MADDEN MADDEN MADDEN MADDEN MADDEN MADDEN", - sentin, source) + tosend = str() + global ragelevel + ragelevel += 1 + for rage in range(0, ragelevel): + tosend += "MADDEN " + telegram.sendmessage(tosend, sentin, source) def lolfree(): From f942817f6e2e94d20a9fae1716b8030a365d7796 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Wed, 21 Sep 2016 16:49:16 +0200 Subject: [PATCH 12/18] Ora /lolfree funziona --- bot.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bot.py b/bot.py index 654f75e2..30781d2e 100644 --- a/bot.py +++ b/bot.py @@ -431,7 +431,6 @@ def balurage(): def lolfree(): - global lolfreestring # Visualizza i campioni gratuiti di LoL di questa settimana print("@" + username + ": /lolfree") # Informa Telegram che il messaggio è stato ricevuto. @@ -439,11 +438,12 @@ def lolfree(): ora = time.gmtime() cmd = text.split(" ", 1) if len(cmd) > 1: - refresh = cmd[1].startswith("refresh") + refresh_requested = cmd[1].startswith("refresh") else: - refresh = False + refresh_requested = False # Controlla se i dati sono già stati scaricati. - if lolfreestring is None or refresh: + global lolfreestring + if lolfreestring == "" or refresh_requested: # Crea un nuovo set di dati. print("Aggiornamento champ gratuiti di League of Legends...") lolfreestring = "Champion gratuiti del `" + str(ora.tm_mday) + "/" + str(ora.tm_mon) + "/" + \ From d5fc318e8578ef2a4cb390efd888c1b65dda5d30 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Wed, 21 Sep 2016 16:50:31 +0200 Subject: [PATCH 13/18] =?UTF-8?q?Tolto=20/crash=20perch=C3=A8=20tanto=20?= =?UTF-8?q?=C3=A8=20inutile=20ora?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bot.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/bot.py b/bot.py index 30781d2e..f37694e7 100644 --- a/bot.py +++ b/bot.py @@ -539,10 +539,6 @@ while True: lolfree() elif text.startswith('/ombromanto'): ombromanto() - elif text.startswith('/crash'): - # Crasha il bot. Mi sembra geniale. - if username == 'Steffo': - raise Exception("Ho appena fatto crashare tutto apposta. Sono un genio.") else: print("@" + username + " bloccato.") except Exception as e: From 2b48d9bffb4c6033f356ef2b85487f3ac0168a79 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Wed, 21 Sep 2016 16:52:42 +0200 Subject: [PATCH 14/18] Modificato il testo per gli errori critici --- bot.py | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/bot.py b/bot.py index f37694e7..f60fdbdf 100644 --- a/bot.py +++ b/bot.py @@ -507,24 +507,16 @@ while True: ciaostefanino() elif text.startswith('/balurage') or text.startswith("/madden"): balurage() - elif text.startswith('/potatogift'): - potatogift() elif text.startswith('/ciaoruozi'): ciaoruozi() elif text.startswith('/ehoh'): ehoh() - elif text.startswith('/playing'): - playing() - elif text.startswith('/saldi'): - saldi() - elif text.startswith('/sbam'): + elif text.startswith('/sbam') or text.startswith('/rekt'): sbam() elif text.startswith('/osu'): osucmd() elif text.startswith('/roll'): roll() - elif text.startswith('/automah'): - automah() elif text.startswith('/cv'): cv() elif text.startswith('/online'): @@ -542,7 +534,8 @@ while True: else: print("@" + username + " bloccato.") except Exception as e: - telegram.sendmessage(chr(9762) + " *ERRORE CRITICO:\n*" - "{0}\n".format(repr(e)), -2141322) + telegram.sendmessage(chr(9762) + " *Errore critico:\n*" + "{0}\n\n" + "Secondo me, è colpa dello stagista.".format(repr(e)), -2141322) print("ERRORE CRITICO:\n" "{0}".format(repr(e))) From 0e56ac43351c22a1944845c37fb3b5a20f6cbc87 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Wed, 21 Sep 2016 16:54:54 +0200 Subject: [PATCH 15/18] Aggiunto (?) Dailir a db.json --- db.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/db.json b/db.json index 5ed56ec8..09da0299 100644 --- a/db.json +++ b/db.json @@ -233,5 +233,12 @@ "desc": "", "icon": "ProfiloVuoto", "steam": 76561198147468795 + }, + "dailir": + { + "name": "Dailir", + "desc": "", + "icon": "", + "steam": 76561198165551475 } } From a6f52bd38e505e4c2ce75497fa37a98842dbb1ee Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Wed, 21 Sep 2016 17:03:22 +0200 Subject: [PATCH 16/18] Aggiunto comando /getrygimage per scaricare la propria immagine di profilo. --- bot.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/bot.py b/bot.py index f60fdbdf..aa1bb93f 100644 --- a/bot.py +++ b/bot.py @@ -456,6 +456,13 @@ def lolfree(): telegram.sendmessage(lolfreestring, sentin, source) +def getrygimage(): + # Ricevi il link alla tua immagine del profilo Royal Games. + print("@" + username + ": getrygimage") + telegram.sendmessage("[Scarica](https://dl.dropboxusercontent.com/u/23313381/Logo/Personali/{tag}.png)" + " la tua immagine del profilo Royal Games!".format(tag=royalgames[username.lower()]['icon']), + sentin, source) + # Ciclo principale del bot print("Bot avviato!") while True: @@ -531,6 +538,8 @@ while True: lolfree() elif text.startswith('/ombromanto'): ombromanto() + elif text.startswith('/getrygimage'): + getrygimage() else: print("@" + username + " bloccato.") except Exception as e: From e40c9830aed181229c86dfbf470e4016f7bce818 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Wed, 21 Sep 2016 17:10:10 +0200 Subject: [PATCH 17/18] Aggiunto nuovo comando, /smecds --- bot.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/bot.py b/bot.py index aa1bb93f..575237c3 100644 --- a/bot.py +++ b/bot.py @@ -458,16 +458,25 @@ def lolfree(): def getrygimage(): # Ricevi il link alla tua immagine del profilo Royal Games. - print("@" + username + ": getrygimage") + print("@" + username + ": /getrygimage") telegram.sendmessage("[Scarica](https://dl.dropboxusercontent.com/u/23313381/Logo/Personali/{tag}.png)" " la tua immagine del profilo Royal Games!".format(tag=royalgames[username.lower()]['icon']), sentin, source) + +def smecds(): + # Secondo me, è colpa... + print("@" + username + ": /smecds") + accusato = random.sample(["dello stagista", "degli sposi", "di Santinelli", "di Sensei", "di Steffo", "di Spaggia", + "della sedia", "di Satana", "del Sangue (degli occhi di Adry)", "del Sale"]) + telegram.sendmessage("Secondo me è colpa {accusato}...".format(accusato=accusato)) + + # Ciclo principale del bot print("Bot avviato!") while True: try: - # Guarda il comando ricevuto. + # Guarda il comando . msg = telegram.getupdates() # Se il messaggio non è una notifica di servizio... if 'edit' in msg: From 39fef39db09a976f06158f09aeece2830b067877 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Wed, 21 Sep 2016 17:13:29 +0200 Subject: [PATCH 18/18] Bugfix vari --- bot.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bot.py b/bot.py index 575237c3..516a8015 100644 --- a/bot.py +++ b/bot.py @@ -20,6 +20,7 @@ random.seed() # Livello di balurage dall'ultimo riavvio ragelevel = 0 + # Spostiamo qui le funzioni del bot, così è un po' più leggibile def wow(): print("@" + username + ": WOW!") @@ -262,7 +263,7 @@ def roll(): m = int(cmd[1]) except ValueError: if cmd[1] == "tm": - telegram.sendmessage("TM è così grassa che se la lanci rotola!") + telegram.sendmessage("TM è così grassa che se la lanci rotola!", sentin, source) else: telegram.sendmessage(chr(9888) + " Il numero specificato non è un intero.", sentin, source) return @@ -469,7 +470,7 @@ def smecds(): print("@" + username + ": /smecds") accusato = random.sample(["dello stagista", "degli sposi", "di Santinelli", "di Sensei", "di Steffo", "di Spaggia", "della sedia", "di Satana", "del Sangue (degli occhi di Adry)", "del Sale"]) - telegram.sendmessage("Secondo me è colpa {accusato}...".format(accusato=accusato)) + telegram.sendmessage("Secondo me è colpa {accusato}...".format(accusato=accusato), sentin, source) # Ciclo principale del bot