mirror of
https://github.com/RYGhub/royalnet.git
synced 2024-11-23 19:44:20 +00:00
Creato un sistema di mapping comando -> funzione
This commit is contained in:
parent
15c4202067
commit
3e31c201b2
1 changed files with 42 additions and 55 deletions
97
bot.py
97
bot.py
|
@ -80,7 +80,6 @@ def steamplayers():
|
||||||
print("@" + username + ": /steamplayers")
|
print("@" + username + ": /steamplayers")
|
||||||
# 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)
|
||||||
cmd = text.split(" ")
|
|
||||||
# Se è stato specificato un AppID...
|
# Se è stato specificato un AppID...
|
||||||
if len(cmd) >= 2:
|
if len(cmd) >= 2:
|
||||||
n = steam.getnumberofcurrentplayers(cmd[1])
|
n = steam.getnumberofcurrentplayers(cmd[1])
|
||||||
|
@ -115,7 +114,6 @@ def osucmd():
|
||||||
# Informa Telegram che il messaggio è stato ricevuto.
|
# Informa Telegram che il messaggio è stato ricevuto.
|
||||||
telegram.sendchataction(sentin)
|
telegram.sendchataction(sentin)
|
||||||
# Trova il nome utente specificato
|
# Trova il nome utente specificato
|
||||||
cmd = text.split(' ', 1)
|
|
||||||
# Se è stato specificato un nome utente
|
# Se è stato specificato un nome utente
|
||||||
if len(cmd) >= 2:
|
if len(cmd) >= 2:
|
||||||
# Trova la modalità
|
# Trova la modalità
|
||||||
|
@ -123,7 +121,6 @@ def osucmd():
|
||||||
# 1 = osu!taiko
|
# 1 = osu!taiko
|
||||||
# 2 = osu!catch
|
# 2 = osu!catch
|
||||||
# 3 = osu!mania
|
# 3 = osu!mania
|
||||||
cmd = text.split(' ', 2)
|
|
||||||
# Se è stata specificata una modalità
|
# Se è stata specificata una modalità
|
||||||
if len(cmd) >= 3:
|
if len(cmd) >= 3:
|
||||||
# Modalità specificata
|
# Modalità specificata
|
||||||
|
@ -265,7 +262,6 @@ def osucmd():
|
||||||
|
|
||||||
def roll():
|
def roll():
|
||||||
print("@" + username + ": /roll")
|
print("@" + username + ": /roll")
|
||||||
cmd = text.split(' ', 1)
|
|
||||||
# Se è stato specificato un numero
|
# Se è stato specificato un numero
|
||||||
if len(cmd) >= 2:
|
if len(cmd) >= 2:
|
||||||
if cmd[1] == "tm":
|
if cmd[1] == "tm":
|
||||||
|
@ -356,7 +352,6 @@ def online():
|
||||||
print("@" + username + ": /online ")
|
print("@" + username + ": /online ")
|
||||||
# Informa Telegram che il messaggio è stato ricevuto.
|
# Informa Telegram che il messaggio è stato ricevuto.
|
||||||
telegram.sendchataction(sentin)
|
telegram.sendchataction(sentin)
|
||||||
cmd = text.split(" ")
|
|
||||||
if len(cmd) >= 2:
|
if len(cmd) >= 2:
|
||||||
if cmd[1].lower() == "help":
|
if cmd[1].lower() == "help":
|
||||||
telegram.sendmessage(chr(128309) + " Online\n" +
|
telegram.sendmessage(chr(128309) + " Online\n" +
|
||||||
|
@ -408,7 +403,6 @@ def shrek():
|
||||||
def 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)
|
|
||||||
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", " ")
|
||||||
|
@ -454,7 +448,6 @@ def lolfree():
|
||||||
# Informa Telegram che il messaggio è stato ricevuto.
|
# Informa Telegram che il messaggio è stato ricevuto.
|
||||||
telegram.sendchataction(sentin)
|
telegram.sendchataction(sentin)
|
||||||
ora = time.gmtime()
|
ora = time.gmtime()
|
||||||
cmd = text.split(" ", 1)
|
|
||||||
if len(cmd) > 1:
|
if len(cmd) > 1:
|
||||||
refresh_requested = cmd[1].startswith("refresh")
|
refresh_requested = cmd[1].startswith("refresh")
|
||||||
else:
|
else:
|
||||||
|
@ -513,8 +506,6 @@ def match():
|
||||||
print("@" + username + ": /match")
|
print("@" + username + ": /match")
|
||||||
# Informa Telegram che il messaggio è stato ricevuto.
|
# Informa Telegram che il messaggio è stato ricevuto.
|
||||||
telegram.sendchataction(sentin)
|
telegram.sendchataction(sentin)
|
||||||
# Prepara il match
|
|
||||||
cmd = text.split(" ")
|
|
||||||
tobematched = list()
|
tobematched = list()
|
||||||
if len(cmd) > 2:
|
if len(cmd) > 2:
|
||||||
del cmd[0]
|
del cmd[0]
|
||||||
|
@ -538,6 +529,39 @@ def match():
|
||||||
telegram.sendmessage(chr(9888) + "Non sono stati specificati abbastanza utenti per eseguire l'azione.",
|
telegram.sendmessage(chr(9888) + "Non sono stati specificati abbastanza utenti per eseguire l'azione.",
|
||||||
sentin, source)
|
sentin, source)
|
||||||
|
|
||||||
|
# Alias di tutti i comandi. Scrivendo quella stringa in chat viene attivata la funzione corrispondente.
|
||||||
|
aliases = {
|
||||||
|
"ahnonlosoio": ahnonlosoio,
|
||||||
|
"ahboh": ahnonlosoio,
|
||||||
|
"ciaostefanino": ciaostefanino,
|
||||||
|
"balurage": balurage,
|
||||||
|
"madden": balurage,
|
||||||
|
"ciaoruozi": ciaoruozi,
|
||||||
|
"ciaospaggia": ciaospaggia,
|
||||||
|
"buongiornostellina": ciaospaggia,
|
||||||
|
"stellina": ciaospaggia,
|
||||||
|
"ehoh": ehoh,
|
||||||
|
"sbam": sbam,
|
||||||
|
"rekt": sbam,
|
||||||
|
"osu": osucmd,
|
||||||
|
"roll": roll,
|
||||||
|
"cv": cv,
|
||||||
|
"discord": cv,
|
||||||
|
"shrek": shrek,
|
||||||
|
"diario": diario,
|
||||||
|
"d": diario,
|
||||||
|
"leggi": leggi,
|
||||||
|
"match": match,
|
||||||
|
"lol": lolfree,
|
||||||
|
"lolfree": lolfree,
|
||||||
|
"legoflegend": lolfree,
|
||||||
|
"getrygimage": getrygimage,
|
||||||
|
"version": version,
|
||||||
|
"smecds": smecds,
|
||||||
|
"online": online,
|
||||||
|
"steam": online,
|
||||||
|
"wow": wow
|
||||||
|
}
|
||||||
|
|
||||||
# Ciclo principale del bot
|
# Ciclo principale del bot
|
||||||
print("Bot avviato!")
|
print("Bot avviato!")
|
||||||
|
@ -584,52 +608,15 @@ while True:
|
||||||
username = str(msg['from']['id'])
|
username = str(msg['from']['id'])
|
||||||
# Se sei un membro della Royal Games
|
# Se sei un membro della Royal Games
|
||||||
if username.lower() in royalgames:
|
if username.lower() in royalgames:
|
||||||
# Riconosci il comando.
|
# Riconosci il comando e dividilo in comando e argomenti.
|
||||||
# Viene usato startswith perchè il comando potrebbe anche essere inviato in forma /ciao@RoyalBot.
|
cmd = text.lower().split(" ")
|
||||||
# Non si potrebbe migliorare qui in qualche modo? Tipo con un dict.
|
# Togli il @RoyalBot alla fine del comando
|
||||||
if text.startswith('/ahnonlosoio') or text.startswith("/ahboh"):
|
cmd[0] = cmd[0].replace("@royalbot", "")
|
||||||
ahnonlosoio()
|
# Prova ad eseguire il comando. Se non è nella lista degli alias, ignoralo.
|
||||||
elif text.startswith('/ciaostefanino'):
|
try:
|
||||||
ciaostefanino()
|
aliases[cmd[0]]()
|
||||||
elif text.startswith('/balurage') or text.startswith("/madden"):
|
except KeyError:
|
||||||
balurage()
|
print("@" + username + ": comando inesistente")
|
||||||
elif text.startswith('/ciaoruozi'):
|
|
||||||
ciaoruozi()
|
|
||||||
elif text.startswith('/ehoh'):
|
|
||||||
ehoh()
|
|
||||||
elif text.startswith('/sbam') or text.startswith('/rekt'):
|
|
||||||
sbam()
|
|
||||||
elif text.startswith('/osu'):
|
|
||||||
osucmd()
|
|
||||||
elif text.startswith('/roll'):
|
|
||||||
roll()
|
|
||||||
elif text.startswith('/cv') or text.startswith('/discord'):
|
|
||||||
cv()
|
|
||||||
elif text.startswith('/online'):
|
|
||||||
online()
|
|
||||||
elif text.startswith('/shrek'):
|
|
||||||
shrek()
|
|
||||||
elif text.startswith('/diario'):
|
|
||||||
diario()
|
|
||||||
elif text.startswith('/leggi'):
|
|
||||||
leggi()
|
|
||||||
elif text.startswith('/lol'):
|
|
||||||
lolfree()
|
|
||||||
elif text.startswith('/ombromanto'):
|
|
||||||
ombromanto()
|
|
||||||
elif text.startswith('/getrygimage'):
|
|
||||||
getrygimage()
|
|
||||||
elif text.startswith('/smecds'):
|
|
||||||
smecds()
|
|
||||||
elif text.startswith('/ciaospaggia'):
|
|
||||||
ciaospaggia()
|
|
||||||
elif text.startswith('/version'):
|
|
||||||
version()
|
|
||||||
elif text.startswith('/match'):
|
|
||||||
match()
|
|
||||||
elif text.startswith('/crash'):
|
|
||||||
if username == "Steffo":
|
|
||||||
raise Exception("SMECDS")
|
|
||||||
else:
|
else:
|
||||||
print("@" + username + " bloccato.")
|
print("@" + username + " bloccato.")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
Loading…
Reference in a new issue