1
Fork 0
mirror of https://github.com/RYGhub/royalnet.git synced 2024-11-24 03:54:20 +00:00

Buttato tutto dentro funzioni a caso

This commit is contained in:
Steffo 2016-08-24 08:40:21 +02:00
parent 789153dee0
commit a5b2dca9a3

242
bot.py
View file

@ -17,87 +17,39 @@ lolfreestring = str()
random.seed() random.seed()
# Ciclo principale del bot
print("Bot avviato!") # Spostiamo qui le funzioni del bot, così è un po' più leggibile
while True: def wow():
try:
# Guarda il comando ricevuto.
msg = telegram.getupdates()
# Se il messaggio non è una notifica di servizio...
if 'edit' in msg:
if msg['edit']:
if 'text' in msg['edit_data']:
# Salvatelo in una stringa
text = msg['edit_data']['text']
# Guarda l'ID della chat in cui è stato inviato
sentin = msg['edit_data']['chat']['id']
# ID del messaggio ricevuto
source = msg['edit_data']['message_id']
if 'username' in msg['edit_data']['from']:
# Salva l'username se esiste
username = msg['edit_data']['from']['username']
else:
# Altrimenti, salva l'userID
username = str(msg['edit_data']['from']['id'])
# Se sei un membro della Royal Games
if username.lower() in royalgames:
# Riconosci il comando.
if text.startswith('wow'):
print("@" + username + ": WOW!") print("@" + username + ": WOW!")
telegram.sendmessage("Wow. Impressionante.", sentin, source) telegram.sendmessage("Wow. Impressionante.", sentin, source)
if 'text' in msg:
# Salvatelo in una stringa
text = msg['text'] def ahnonlosoio():
# Guarda l'ID della chat in cui è stato inviato
sentin = msg['chat']['id']
# ID del messaggio ricevuto
source = msg['message_id']
# Nome da visualizzare nella console per capire chi accidenti è che invia messaggi strani
if 'username' in msg['from']:
# Salva l'username se esiste
username = msg['from']['username']
else:
# Altrimenti, salva l'userID
username = str(msg['from']['id'])
# Se sei un membro della Royal Games
if username.lower() in royalgames:
# Riconosci il comando.
# Viene usato startswith perchè il comando potrebbe anche essere inviato in forma /ciao@RoyalBot.
if text.startswith('/ahnonlosoio'):
print("@" + username + ": /ahnonlosoio") print("@" + username + ": /ahnonlosoio")
# Rispondi con Ah, non lo so nemmeno io. # Rispondi con Ah, non lo so nemmeno io.
telegram.sendmessage("Ah, non lo so nemmeno io!", sentin, source) telegram.sendmessage("Ah, non lo so nemmeno io!", sentin, source)
elif text.startswith('/ciaostefanino'):
def ciaostefanino():
print("@" + username + ": /ciaostefanino") print("@" + username + ": /ciaostefanino")
# Rispondi salutando Stefanino. # Rispondi salutando Stefanino.
telegram.sendmessage("Ciao Stefanino!!!", sentin, source) telegram.sendmessage("Ciao Stefanino!", sentin, source)
elif text.startswith('/balurage'):
print("@" + username + ": /balurage")
# Rispondi commentando l'E3. def ciaoruozi():
telegram.sendmessage("MADDEN MADDEN MADDEN MADDEN MADDEN MADDEN MADDEN MADDEN MADDEN",
sentin, source)
elif text.startswith('/potatogift'):
if username.lower() == "steffo":
telegram.senddocument("BQADAgADHwQAAh8GgAEmS1UU1zyaLQI", sentin, source)
elif text.startswith('/adventure'):
if username.lower() == "frankrekt" and not adventurecomplete:
telegram.sendmessage(
"Grazie per aver completato l'avventura. Riceverai una risposta al più presto.",
msg['from']['id'])
telegram.sendmessage("@FrankRekt ha completato l'avventura!", -1001001443644)
adventurecomplete = True
elif text.startswith('/ciaoruozi'):
print("@" + username + ": /ciaoruozi") print("@" + username + ": /ciaoruozi")
# Ciao Ruozi. # Ciao Ruozi.
if username.lower() == "ruozir": if username.lower() == "ruozir":
telegram.sendmessage("Ciao me", sentin, source) telegram.sendmessage("Ciao me", sentin, source)
else: else:
telegram.sendmessage("Ciao Ruozi", sentin, source) telegram.sendmessage("Ciao Ruozi", sentin, source)
elif text.startswith('/ehoh'):
print("@" + username + ": /ehoh")
# Rispondi con Eh, oh. Sono cose che capitano. def potatogift():
telegram.sendmessage("Eh, oh. Sono cose che capitano.", sentin, source) telegram.senddocument("BQADAgADHwQAAh8GgAEmS1UU1zyaLQI", sentin, source)
elif text.startswith('/playing'):
def playing():
print("@" + username + ": /playing") print("@" + username + ": /playing")
# Informa Telegram che il messaggio è stato ricevuto e visualizza Royal Bot sta scrivendo. # Informa Telegram che il messaggio è stato ricevuto e visualizza Royal Bot sta scrivendo.
telegram.sendchataction(sentin) telegram.sendchataction(sentin)
@ -115,7 +67,15 @@ while True:
else: else:
telegram.sendmessage(chr(9888) + ' Non hai specificato un AppID!\n' telegram.sendmessage(chr(9888) + ' Non hai specificato un AppID!\n'
'La sintassi corretta è /playing <AppID>.', sentin, source) 'La sintassi corretta è /playing <AppID>.', sentin, source)
elif text.startswith('/saldi'):
def ehoh():
print("@" + username + ": /ehoh")
# Rispondi con Eh, oh. Sono cose che capitano.
telegram.sendmessage("Eh, oh. Sono cose che capitano.", sentin, source)
def saldi():
print("@" + username + ": /saldi") print("@" + username + ": /saldi")
# Visualizza il link di isthereanydeal con i saldi di un gioco. # Visualizza il link di isthereanydeal con i saldi di un gioco.
# Informa Telegram che il messaggio è stato ricevuto e visualizza Royal Bot sta scrivendo. # Informa Telegram che il messaggio è stato ricevuto e visualizza Royal Bot sta scrivendo.
@ -132,11 +92,15 @@ while True:
"[Visualizza tutte le offerte]" "[Visualizza tutte le offerte]"
"(https://isthereanydeal.com/#/search:.;/scroll:%23gamelist).", "(https://isthereanydeal.com/#/search:.;/scroll:%23gamelist).",
sentin, source) sentin, source)
elif text.startswith('/sbam'):
def sbam():
print("@" + username + ": /sbam") print("@" + username + ": /sbam")
# Manda l'audio contenente gli sbam di tutti i membri Royal Games. # Manda l'audio contenente gli sbam di tutti i membri Royal Games.
telegram.senddocument('BQADAgADBwMAAh8GgAGSsR4rwmk_LwI', sentin) telegram.senddocument('BQADAgADBwMAAh8GgAGSsR4rwmk_LwI', sentin)
elif text.startswith('/osu'):
def osucmd():
print("@" + username + ": /osu") print("@" + username + ": /osu")
# Visualizza il punteggio più recente di osu! # Visualizza il punteggio più recente di osu!
# Informa Telegram che il messaggio è stato ricevuto. # Informa Telegram che il messaggio è stato ricevuto.
@ -288,7 +252,9 @@ while True:
r['countgeki'], r['countgeki'],
r['countkatu'], r['countkatu'],
r['countmiss']), sentin, source) r['countmiss']), sentin, source)
elif text.startswith('/roll'):
def roll():
print("@" + username + ": /roll") print("@" + username + ": /roll")
cmd = text.split(' ', 1) cmd = text.split(' ', 1)
# Se è stato specificato un numero # Se è stato specificato un numero
@ -314,13 +280,17 @@ while True:
else: else:
telegram.sendmessage("Numero casuale da 1 a " + str(m) + ":\n*" + str(n) + "*", sentin, telegram.sendmessage("Numero casuale da 1 a " + str(m) + ":\n*" + str(n) + "*", sentin,
source) source)
elif text.startswith('/automah'):
def automah():
print("@" + username + ": /automah") print("@" + username + ": /automah")
# Invia il messaggio. # Invia il messaggio.
telegram.sendmessage("Automaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa! Devi funzionare, cavolo!", telegram.sendmessage("Automaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa! Devi funzionare, cavolo!",
sentin, sentin,
source) source)
elif text.startswith('/cv'):
def cv():
# Elenco di tutte le persone online su Discord # Elenco di tutte le persone online su Discord
tosend = "*Su Discord ora:*\n" tosend = "*Su Discord ora:*\n"
r = discord.getwidgetdata("176353500710699008") r = discord.getwidgetdata("176353500710699008")
@ -359,7 +329,9 @@ while True:
else: else:
tosend += "{emoji} {name}\n".format(**m) tosend += "{emoji} {name}\n".format(**m)
telegram.sendmessage(tosend, sentin, source) telegram.sendmessage(tosend, sentin, source)
elif text.startswith('/online'):
def online():
# Elenco di tutte le persone online su Steam # Elenco di tutte le persone online su Steam
print("@" + username + ": /online ") print("@" + username + ": /online ")
# Informa Telegram che il messaggio è stato ricevuto. # Informa Telegram che il messaggio è stato ricevuto.
@ -405,33 +377,50 @@ while True:
tosend += " " + player['personaname'] + "\n" tosend += " " + player['personaname'] + "\n"
else: else:
telegram.sendmessage(tosend, sentin, source) telegram.sendmessage(tosend, sentin, source)
elif text.startswith('/shrekt'):
def shrek():
# Manda l'audio So much to do, so much to see # Manda l'audio So much to do, so much to see
print("@" + username + ": /shrekt ") print("@" + username + ": /shrekt ")
telegram.senddocument("BQADBAADsQADiBjiAqYN-EBXASyhAg", sentin) telegram.senddocument("BQADBAADsQADiBjiAqYN-EBXASyhAg", sentin)
elif text.startswith('/diario'):
def diario():
# Aggiungi una riga al diario Royal Games # Aggiungi una riga al diario Royal Games
print("@" + username + ": /diario ") print("@" + username + ": /diario ")
cmd = text.split(" ", 1) cmd = text.split(" ", 1)
if len(cmd) > 1: if len(cmd) > 1:
if cmd[1].isprintable(): if cmd[1].isprintable():
cmd[1] = cmd[1].replace("\n", " ") cmd[1] = cmd[1].replace("\n", " ")
diario = filemanager.readfile("diario.txt") fdiario = filemanager.readfile("diario.txt")
diario += str(int(time.time())) + "|" + cmd[1] + "\n" fdiario += str(int(time.time())) + "|" + cmd[1] + "\n"
filemanager.writefile("diario.txt", diario) filemanager.writefile("diario.txt", fdiario)
telegram.sendmessage("Aggiunto al diario RYG.", sentin, source) telegram.sendmessage("Aggiunto al diario RYG.", sentin, source)
else: else:
telegram.sendmessage(chr(9888) + " Il messaggio non può essere scritto.\n" telegram.sendmessage(chr(9888) + " Errore nella scrittura del messaggio.\n"
"Prova a togliere le emoji o boh?", sentin, source) "Visto che non ho la minima idea delle assurdita che ho scritto qui, "
"potresti provare a togliere le emoji.", sentin, source)
else: else:
telegram.sendmessage(chr(9888) + " Non hai scritto niente sul diario!\n" telegram.sendmessage(chr(9888) + " Non hai scritto niente sul diario!\n"
"Sintassi corretta: /diario _quello che vuoi scrivere_", "Sintassi corretta: /diario _quello che vuoi scrivere_",
sentin, source) sentin, source)
elif text.startswith('/leggi'):
def leggi():
# Leggi dal diario Royal Games # Leggi dal diario Royal Games
print("@" + username + ": /leggi") print("@" + username + ": /leggi")
telegram.sendmessage("[Apri il diario RYG](http://royal.steffo.me/diario.htm/)!", sentin, source) telegram.sendmessage("[Apri il diario RYG](http://royal.steffo.me/diario.htm)!", sentin, source)
elif text.startswith('/lolfree'):
def balurage():
print("@" + username + ": /balurage")
# Rispondi commentando l'E3.
telegram.sendmessage("MADDEN MADDEN MADDEN MADDEN MADDEN MADDEN MADDEN MADDEN MADDEN",
sentin, source)
def lolfree():
global lolfreestring
# Visualizza i campioni gratuiti di LoL di questa settimana # Visualizza i campioni gratuiti di LoL di questa settimana
print("@" + username + ": /lolfree") print("@" + username + ": /lolfree")
# Informa Telegram che il messaggio è stato ricevuto. # Informa Telegram che il messaggio è stato ricevuto.
@ -454,6 +443,89 @@ while True:
lolfreestring += "*" + staticdata['name'] + "* " + staticdata['title'] + '\n' lolfreestring += "*" + staticdata['name'] + "* " + staticdata['title'] + '\n'
print("Completato.") print("Completato.")
telegram.sendmessage(lolfreestring, sentin, source) telegram.sendmessage(lolfreestring, sentin, source)
# Ciclo principale del bot
print("Bot avviato!")
while True:
try:
# Guarda il comando ricevuto.
msg = telegram.getupdates()
# Se il messaggio non è una notifica di servizio...
if 'edit' in msg:
if msg['edit']:
if 'text' in msg['edit_data']:
# Salvatelo in una stringa
text = msg['edit_data']['text']
# Guarda l'ID della chat in cui è stato inviato
sentin = msg['edit_data']['chat']['id']
# ID del messaggio ricevuto
source = msg['edit_data']['message_id']
if 'username' in msg['edit_data']['from']:
# Salva l'username se esiste
username = msg['edit_data']['from']['username']
else:
# Altrimenti, salva l'userID
username = str(msg['edit_data']['from']['id'])
# Se sei un membro della Royal Games
if username.lower() in royalgames:
# Riconosci il comando.
if text.startswith('wow'):
wow()
if 'text' in msg:
# Salvatelo in una stringa
text = msg['text']
# Guarda l'ID della chat in cui è stato inviato
sentin = msg['chat']['id']
# ID del messaggio ricevuto
source = msg['message_id']
# Nome da visualizzare nella console per capire chi accidenti è che invia messaggi strani
if 'username' in msg['from']:
# Salva l'username se esiste
username = msg['from']['username']
else:
# Altrimenti, salva l'userID
username = str(msg['from']['id'])
# Se sei un membro della Royal Games
if username.lower() in royalgames:
# Riconosci il comando.
# Viene usato startswith perchè il comando potrebbe anche essere inviato in forma /ciao@RoyalBot.
if text.startswith('/ahnonlosoio'):
ahnonlosoio()
elif text.startswith('/ciaostefanino'):
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'):
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'):
online()
elif text.startswith('/shrek'):
shrek()
elif text.startswith('/diario'):
diario()
elif text.startswith('/leggi'):
leggi()
elif text.startswith('/lolfree'):
lolfree()
elif text.startswith('/crash'): elif text.startswith('/crash'):
# Crasha il bot. Mi sembra geniale. # Crasha il bot. Mi sembra geniale.
if username == 'Steffo': if username == 'Steffo':