1
Fork 0
mirror of https://github.com/RYGhub/royalnet.git synced 2024-11-23 19:44:20 +00:00
This commit is contained in:
Steffo 2016-07-10 18:38:33 +03:00
parent b35d75b3f5
commit 9d5cea6fe1

123
bot.py
View file

@ -17,6 +17,8 @@ lolfreestring = str()
random.seed()
adventurecomplete = False
# Ciclo principale del bot
print("Bot avviato!")
while True:
@ -76,6 +78,11 @@ while True:
print("@" + username + ": /balurage")
# Rispondi commentando l'E3.
telegram.sendmessage("MADDEN MADDEN MADDEN MADDEN MADDEN MADDEN MADDEN MADDEN MADDEN", 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.", sentin, source)
telegram.sendmessage("@FrankRekt ha completato l'avventura!", -1001001443644)
adventurecomplete = True
elif text.startswith('/ciaoruozi'):
print("@" + username + ": /ciaoruozi")
# Ciao Ruozi.
@ -310,94 +317,6 @@ while True:
telegram.sendmessage("Automaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa! Devi funzionare, cavolo!",
sentin,
source)
elif text.startswith('/hs'):
print("@" + username + ": /hs")
# Informa Telegram che il messaggio è stato ricevuto.
telegram.sendchataction(sentin)
cmd = text.split(" ", 1)
# Se è stata specificata una carta...
if len(cmd) >= 2:
# Controlla che la carta specificata esista.
try:
r = hearthstone.card(cmd[1])
# Se ci sono più carte, prendine una a caso!
r = r[random.randrange(len(r))]
except ValueError:
telegram.sendmessage(chr(9888) + " La carta specificata non esiste!", sentin, source)
# Se tutto va bene, elabora e visualizza le informazioni sulla carta.
else:
# Si trova nelle bustine
if 'howToGet' not in r:
if 'cardSet' in r:
r['howToGet'] = "Trovala in " + r['cardSet'] + "."
else:
r['howToGet'] = "Inottenibile."
# Nessuna classe
if 'playerClass' not in r:
r['playerClass'] = "Neutral"
# Nessun effetto
if 'text' not in r:
r['text'] = ""
# Converti l'HTML nella descrizione in Markdown. Circa.
r['text'] = r['text'].replace("<b>", "*")
r['text'] = r['text'].replace("</b>", "*")
r['text'] = r['text'].replace("<i>", "_")
r['text'] = r['text'].replace("</i>", "_")
# Togli il $, che indica che il numero di danni può essere modificato dallo Spell Damage
r['text'] = r['text'].replace("$", "")
# Nessuna rarità
if 'rarity' not in r:
r['rarity'] = "None"
# Nessuna descrizione
if 'flavor' not in r:
r['flavor'] = ""
# Testo principale
# Magie
if r['type'] == "Spell":
text = str("[" + r['name'] + "](" + r['img'] + ") "
"(" + r['rarity'] + ")\n" +
r['playerClass'] + "\n" +
str(r['cost']) + " mana\n" +
r['text'] + "\n" +
r['howToGet'] + "\n\n_" +
r['flavor'] + "_\n")
# Servitori
elif r['type'] == "Minion":
text = str("[" + r['name'] + "](" + r['img'] + ") "
"(" + r['rarity'] + ")\n" +
r['playerClass'] + "\n" +
str(r['cost']) + " mana\n" +
str(r['attack']) + " attacco\n" +
str(r['health']) + " salute\n" +
r['text'] + "\n" +
r['howToGet'] + "\n\n_" +
r['flavor'] + "_\n")
# Armi
elif r['type'] == "Weapon":
text = str("[" + r['name'] + "](" + r['img'] + ") "
"(" + r['rarity'] + ")\n" +
r['playerClass'] + "\n" +
str(r['cost']) + " mana\n" +
str(r['attack']) + " attacco\n" +
str(r['durability']) + " integrita'\n" +
r['text'] + "\n" +
r['howToGet'] + "\n\n_" +
r['flavor'] + "_\n")
# Potere Eroe
elif r['type'] == "Hero Power":
text = str("[" + r['name'] + "](" + r['img'] + ")\n" +
r['playerClass'] + "\n" +
str(r['cost']) + " mana\n" +
r['text'] + "\n")
# Eroe
elif r['type'] == "Hero":
text = str("[" + r['name'] + "](" + r['img'] + ")\n" +
"*Eroe*\n" +
str(r['health']) + " salute\n")
telegram.sendmessage(text, sentin, source)
else:
telegram.sendmessage(chr(9888) + " Non hai specificato nessuna carta!\n"
"La sintassi corretta è _/hs nomecarta_ .", sentin, source)
elif text.startswith('/online') or text.startswith('/cv'):
# Elenco di tutte le persone online su Steam
print("@" + username + ": /online ")
@ -475,14 +394,6 @@ while True:
text = str()
# Se è incluso un numero dopo leggi, prendi quel numero di eventi più recenti.
if len(cmd) > 1:
if cmd[1].lower() == "tutto":
for n in range(len(diario), 1, -1):
riga = diario[len(diario) - n]
riga = riga.split("|", 1)
ora = time.gmtime(int(riga[0]))
text += "`" + str(ora.tm_mday) + "/" + str(ora.tm_mon) + "/" + str(
ora.tm_year) + "`: `" + \
str(ora.tm_hour) + ":" + str(ora.tm_min) + "` " + riga[1] + "\n"
if int(cmd[1]) < 40:
# L'ultimo numero è escluso.
for n in range(int(cmd[1]) + 1, 1, -1):
@ -525,26 +436,6 @@ while True:
lolfreestring += "*" + staticdata['name'] + "* " + staticdata['title'] + '\n'
print("Completato.")
telegram.sendmessage(lolfreestring, sentin, source)
elif text.startswith('/lolhistory'):
# Visualizza le tue partite recenti di LoL
print("@" + username + ": /lolhistory")
# Informa Telegram che il messaggio è stato ricevuto.
telegram.sendchataction(sentin)
sendme = "*Ultime 5 ranked giocate:*\n"
cmd = text.split(" ", 1)
if "lol" in royalgames[username.lower()]:
r = lol.getmatchlist(royalgames[username.lower()]['lol'])
if len(r['matches']) > 0:
for match in r['matches'][:5]:
sd = lol.getchampionstaticdata(match['champion'])
sendme += "`{0}` {1} ({2})\n".format(str(match['matchId']),
sd['name'],
match['lane'])
telegram.sendmessage(sendme, sentin, source)
else:
telegram.sendmessage(chr(9888) + " Non hai mai giocato ranked.", sentin, source)
else:
telegram.sendmessage(chr(9888) + " Non hai un account di LoL nel database.", sentin, source)
elif text.startswith('/crash'):
# Crasha il bot. Mi sembra geniale.
if username == 'Steffo':