mirror of
https://github.com/RYGhub/royalnet.git
synced 2024-11-23 19:44:20 +00:00
Altre cose
This commit is contained in:
parent
935fed70c1
commit
83a7b92f9e
2 changed files with 123 additions and 105 deletions
216
bot.py
216
bot.py
|
@ -19,6 +19,14 @@ royalgames = json.loads(filemanager.readfile("db.json"))
|
||||||
# Stringa dove mettere l'elenco di champion di lol gratuiti
|
# Stringa dove mettere l'elenco di champion di lol gratuiti
|
||||||
lolfreestring = str()
|
lolfreestring = str()
|
||||||
|
|
||||||
|
# Elenco dello stagismo
|
||||||
|
stagismo = ["dello stagista", "degli sposi", "di Santinelli", "di Sensei", "di Steffo", "di Spaggia",
|
||||||
|
"della sedia", "di Satana", "del Sangue (degli occhi di Adry)", "del Sale",
|
||||||
|
"del Serpente", "della Samsung", "di /smecds", "della succursale", "di succ",
|
||||||
|
"di Sans", "di [SiivaGunner](https://www.youtube.com/channel/UC9ecwl3FTG66jIKA9JRDtmg)",
|
||||||
|
"di saaaaaas", "del semaforo", "della Seriale", "di Sistemi", "della Supercell",
|
||||||
|
"di Santaclaus", "dei Sims", "dei Santi", "di SES2017", "di Salvini"]
|
||||||
|
|
||||||
random.seed()
|
random.seed()
|
||||||
|
|
||||||
|
|
||||||
|
@ -299,6 +307,8 @@ def cv():
|
||||||
# Elenco di tutte le persone online su Discord
|
# Elenco di tutte le persone online su Discord
|
||||||
tosend = "*Online su Discord, nel server {servername}:*\n".format(servername=r['name'])
|
tosend = "*Online su Discord, nel server {servername}:*\n".format(servername=r['name'])
|
||||||
# Qui inizia il codice peggiore di sempre
|
# Qui inizia il codice peggiore di sempre
|
||||||
|
# oddio cosa ho scritto
|
||||||
|
# aiuto
|
||||||
for member in r['members']:
|
for member in r['members']:
|
||||||
m = dict()
|
m = dict()
|
||||||
if 'bot' not in member or not member['bot']:
|
if 'bot' not in member or not member['bot']:
|
||||||
|
@ -351,48 +361,49 @@ def cv():
|
||||||
def 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 ")
|
||||||
|
telegram.sendmessage("_Funzione temporaneamente disattivata._", sentin, source)
|
||||||
# Informa Telegram che il messaggio è stato ricevuto.
|
# Informa Telegram che il messaggio è stato ricevuto.
|
||||||
telegram.sendchataction(sentin)
|
# telegram.sendchataction(sentin)
|
||||||
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" +
|
||||||
chr(128308) + " In gioco | Occupato\n" +
|
# chr(128308) + " In gioco | Occupato\n" +
|
||||||
chr(9899) + " Assente | Inattivo\n" +
|
# chr(9899) + " Assente | Inattivo\n" +
|
||||||
chr(128310) + " Disponibile per scambiare\n" +
|
# chr(128310) + " Disponibile per scambiare\n" +
|
||||||
chr(128311) + " Disponibile per giocare", sentin, source)
|
# chr(128311) + " Disponibile per giocare", sentin, source)
|
||||||
else:
|
# else:
|
||||||
# Stringa utilizzata per ottenere informazioni su tutti gli utenti in una sola richiesta a steam
|
# # Stringa utilizzata per ottenere informazioni su tutti gli utenti in una sola richiesta a steam
|
||||||
userids = str()
|
# userids = str()
|
||||||
for membro in royalgames:
|
# for membro in royalgames:
|
||||||
if "steam" in royalgames[membro]:
|
# if "steam" in royalgames[membro]:
|
||||||
userids += str(royalgames[membro]["steam"]) + ','
|
# userids += str(royalgames[membro]["steam"]) + ','
|
||||||
tosend = "*Su Steam ora:*\n"
|
# tosend = "*Su Steam ora:*\n"
|
||||||
r = steam.getplayersummaries(userids)
|
# r = steam.getplayersummaries(userids)
|
||||||
for player in r:
|
# for player in r:
|
||||||
# In gioco
|
# # In gioco
|
||||||
if 'gameextrainfo' in player:
|
# if 'gameextrainfo' in player:
|
||||||
tosend += chr(128308) + " _" + player['gameextrainfo'] + "_ |"
|
# tosend += chr(128308) + " _" + player['gameextrainfo'] + "_ |"
|
||||||
elif 'gameid' in player:
|
# elif 'gameid' in player:
|
||||||
tosend += chr(128308) + " _" + player['gameid'] + "_ |"
|
# tosend += chr(128308) + " _" + player['gameid'] + "_ |"
|
||||||
# Online
|
# # Online
|
||||||
elif player['personastate'] == 1:
|
# elif player['personastate'] == 1:
|
||||||
tosend += chr(128309)
|
# tosend += chr(128309)
|
||||||
# Occupato
|
# # Occupato
|
||||||
elif player['personastate'] == 2:
|
# elif player['personastate'] == 2:
|
||||||
tosend += chr(128308)
|
# tosend += chr(128308)
|
||||||
# Assente o Inattivo
|
# # Assente o Inattivo
|
||||||
elif player['personastate'] == 3 or player['personastate'] == 4:
|
# elif player['personastate'] == 3 or player['personastate'] == 4:
|
||||||
tosend += chr(9899)
|
# tosend += chr(9899)
|
||||||
# Disponibile per scambiare
|
# # Disponibile per scambiare
|
||||||
elif player['personastate'] == 5:
|
# elif player['personastate'] == 5:
|
||||||
tosend += chr(128310)
|
# tosend += chr(128310)
|
||||||
# Disponibile per giocare
|
# # Disponibile per giocare
|
||||||
elif player['personastate'] == 6:
|
# elif player['personastate'] == 6:
|
||||||
tosend += chr(128311)
|
# tosend += chr(128311)
|
||||||
if player['personastate'] != 0:
|
# if player['personastate'] != 0:
|
||||||
tosend += " " + player['personaname'] + "\n"
|
# tosend += " " + player['personaname'] + "\n"
|
||||||
else:
|
# else:
|
||||||
telegram.sendmessage(tosend, sentin, source)
|
# telegram.sendmessage(tosend, sentin, source)
|
||||||
|
|
||||||
|
|
||||||
def shrek():
|
def shrek():
|
||||||
|
@ -511,12 +522,7 @@ def ciaospaggia():
|
||||||
def smecds():
|
def smecds():
|
||||||
# Secondo me, è colpa...
|
# Secondo me, è colpa...
|
||||||
print("@" + username + ": /smecds")
|
print("@" + username + ": /smecds")
|
||||||
accusato = random.sample(["dello stagista", "degli sposi", "di Santinelli", "di Sensei", "di Steffo", "di Spaggia",
|
accusato = random.sample(stagismo, 1)[0]
|
||||||
"della sedia", "di Satana", "del Sangue (degli occhi di Adry)", "del Sale",
|
|
||||||
"del Serpente", "della Samsung", "di /smecds", "della succursale", "di succ",
|
|
||||||
"di Sans", "di [SiivaGunner](https://www.youtube.com/channel/UC9ecwl3FTG66jIKA9JRDtmg)",
|
|
||||||
"di saaaaaas", "del semaforo", "della Seriale", "di Sistemi", "della Supercell",
|
|
||||||
"di Santaclaus", "dei Sims", "dei Santi", "di SES2017", "di Salvini"], 1)[0]
|
|
||||||
telegram.sendmessage("Secondo me è colpa {accusato}...".format(accusato=accusato), sentin, source)
|
telegram.sendmessage("Secondo me è colpa {accusato}...".format(accusato=accusato), sentin, source)
|
||||||
|
|
||||||
|
|
||||||
|
@ -531,59 +537,61 @@ def version():
|
||||||
def match():
|
def match():
|
||||||
# Visualizza detutti i giochi condivisi tra x persone.
|
# Visualizza detutti i giochi condivisi tra x persone.
|
||||||
print("@" + username + ": /match")
|
print("@" + username + ": /match")
|
||||||
|
telegram.sendmessage("_Funzione temporaneamente disattivata._", sentin, source)
|
||||||
# Informa Telegram che il messaggio è stato ricevuto.
|
# Informa Telegram che il messaggio è stato ricevuto.
|
||||||
telegram.sendchataction(sentin)
|
# telegram.sendchataction(sentin)
|
||||||
tobematched = list()
|
# tobematched = list()
|
||||||
if len(cmd) > 2:
|
# if len(cmd) > 2:
|
||||||
del cmd[0]
|
# del cmd[0]
|
||||||
for name in cmd:
|
# for name in cmd:
|
||||||
userdata = db.findbyname(name)
|
# userdata = db.findbyname(name)
|
||||||
if userdata is not None and 'steam' in userdata:
|
# if userdata is not None and 'steam' in userdata:
|
||||||
if userdata['steam'] not in tobematched:
|
# if userdata['steam'] not in tobematched:
|
||||||
tobematched.append(userdata['steam'])
|
# tobematched.append(userdata['steam'])
|
||||||
if len(tobematched) > 1:
|
# if len(tobematched) > 1:
|
||||||
m = list(steammatch.and_games(tobematched))
|
# m = list(steammatch.and_games(tobematched))
|
||||||
if len(m) > 0:
|
# if len(m) > 0:
|
||||||
# Prepara il messaggio
|
# # Prepara il messaggio
|
||||||
tosend = "*Giochi in comune tra questi utenti:*\n"
|
# tosend = "*Giochi in comune tra questi utenti:*\n"
|
||||||
for game in m:
|
# for game in m:
|
||||||
tosend += "- {game}\n".format(game=game)
|
# tosend += "- {game}\n".format(game=game)
|
||||||
# Manda il messaggio
|
# # Manda il messaggio
|
||||||
telegram.sendmessage(tosend, sentin, source)
|
# telegram.sendmessage(tosend, sentin, source)
|
||||||
else:
|
# else:
|
||||||
telegram.sendmessage("*Giochi in comune tra questi utenti:*\n_nessuno_", sentin, source)
|
# telegram.sendmessage("*Giochi in comune tra questi utenti:*\n_nessuno_", sentin, source)
|
||||||
else:
|
# else:
|
||||||
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)
|
||||||
|
|
||||||
def share():
|
def share():
|
||||||
# Visualizza detutti i giochi condivisi tra x persone.
|
# Visualizza detutti i giochi condivisi tra x persone.
|
||||||
print("@" + username + ": /share")
|
print("@" + username + ": /share")
|
||||||
|
telegram.sendmessage("_Funzione temporaneamente disattivata._", sentin, source)
|
||||||
# Informa Telegram che il messaggio è stato ricevuto.
|
# Informa Telegram che il messaggio è stato ricevuto.
|
||||||
telegram.sendchataction(sentin)
|
# telegram.sendchataction(sentin)
|
||||||
tobematched = list()
|
# tobematched = list()
|
||||||
if len(cmd) > 2:
|
# if len(cmd) > 2:
|
||||||
del cmd[0]
|
# del cmd[0]
|
||||||
for name in cmd:
|
# for name in cmd:
|
||||||
userdata = db.findbyname(name)
|
# userdata = db.findbyname(name)
|
||||||
if userdata is not None and 'steam' in userdata:
|
# if userdata is not None and 'steam' in userdata:
|
||||||
if userdata['steam'] not in tobematched:
|
# if userdata['steam'] not in tobematched:
|
||||||
tobematched.append(userdata['steam'])
|
# tobematched.append(userdata['steam'])
|
||||||
if len(tobematched) == 2:
|
# if len(tobematched) == 2:
|
||||||
tosend = str()
|
# tosend = str()
|
||||||
# Giochi che ha il primo ma non il secondo
|
# # Giochi che ha il primo ma non il secondo
|
||||||
d = list(steammatch.diff_games(tobematched[0], tobematched[1]))
|
# d = list(steammatch.diff_games(tobematched[0], tobematched[1]))
|
||||||
if len(d) > 0:
|
# if len(d) > 0:
|
||||||
# Prepara il messaggio
|
# # Prepara il messaggio
|
||||||
tosend += "*Giochi che ha @{primo} ma non @{secondo}:*\n".format(primo=cmd[0], secondo=cmd[1])
|
# tosend += "*Giochi che ha @{primo} ma non @{secondo}:*\n".format(primo=cmd[0], secondo=cmd[1])
|
||||||
for game in d:
|
# for game in d:
|
||||||
tosend += "- {game}\n".format(game=game)
|
# tosend += "- {game}\n".format(game=game)
|
||||||
else:
|
# else:
|
||||||
tosend += "_@{secondo} ha tutti i giochi che ha @{primo}_.\n"
|
# tosend += "_@{secondo} ha tutti i giochi che ha @{primo}_.\n"
|
||||||
telegram.sendmessage(tosend, sentin, source)
|
# telegram.sendmessage(tosend, sentin, source)
|
||||||
else:
|
# else:
|
||||||
telegram.sendmessage(chr(9888) + "Non è stato specificato un numero adeguato di utenti per eseguire l'azione.",
|
# telegram.sendmessage(chr(9888) + "Non è stato specificato un numero adeguato di utenti per eseguire l'azione.",
|
||||||
sentin, source)
|
# sentin, source)
|
||||||
|
|
||||||
# Alias di tutti i comandi. Scrivendo quella stringa in chat viene attivata la funzione corrispondente.
|
# Alias di tutti i comandi. Scrivendo quella stringa in chat viene attivata la funzione corrispondente.
|
||||||
aliases = {
|
aliases = {
|
||||||
|
@ -608,7 +616,6 @@ aliases = {
|
||||||
"d": diario,
|
"d": diario,
|
||||||
"leggi": leggi,
|
"leggi": leggi,
|
||||||
"match": match,
|
"match": match,
|
||||||
"lol": lolfree,
|
|
||||||
"lolfree": lolfree,
|
"lolfree": lolfree,
|
||||||
"legoflegend": lolfree,
|
"legoflegend": lolfree,
|
||||||
"getrygimage": getrygimage,
|
"getrygimage": getrygimage,
|
||||||
|
@ -643,7 +650,7 @@ while True:
|
||||||
# Altrimenti, salva l'userID
|
# Altrimenti, salva l'userID
|
||||||
username = str(msg['edit_data']['from']['id'])
|
username = str(msg['edit_data']['from']['id'])
|
||||||
# Se sei un membro della Royal Games
|
# Se sei un membro della Royal Games
|
||||||
if username.lower() in royalgames:
|
if db.findbyname(username) in royalgames:
|
||||||
# Riconosci il comando.
|
# Riconosci il comando.
|
||||||
if text.startswith('wow'):
|
if text.startswith('wow'):
|
||||||
wow()
|
wow()
|
||||||
|
@ -664,7 +671,7 @@ while True:
|
||||||
# Altrimenti, salva l'userID
|
# Altrimenti, salva l'userID
|
||||||
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 db.findbyname(username):
|
||||||
# Riconosci il comando e dividilo in comando e argomenti.
|
# Riconosci il comando e dividilo in comando e argomenti.
|
||||||
cmd = text.lower().split(" ")
|
cmd = text.lower().split(" ")
|
||||||
# Togli il @RoyalBot alla fine del comando
|
# Togli il @RoyalBot alla fine del comando
|
||||||
|
@ -674,13 +681,24 @@ while True:
|
||||||
aliases[cmd[0]]()
|
aliases[cmd[0]]()
|
||||||
except KeyError:
|
except KeyError:
|
||||||
print("@" + username + ": comando inesistente")
|
print("@" + username + ": comando inesistente")
|
||||||
|
except Exception as e:
|
||||||
|
# Se durante l'esecuzione di un comando viene generato un errore, visualizzalo nella chat in cui è stato generato.
|
||||||
|
telegram.sendmessage(chr(9762) + " *Errore durante l'esecuzione del comando:\n*"
|
||||||
|
"{}\n\n"
|
||||||
|
"Secondo me, è colpa {}.".format(repr(e), random.sample(stagismo, 1)[0]), sentin, source)
|
||||||
|
print("\033[1mERRORE:\n{}\033[0m".format(repr(e)))
|
||||||
|
# Se sei in modalità debug, interrompi l'esecuzione
|
||||||
|
if __debug__:
|
||||||
|
raise
|
||||||
else:
|
else:
|
||||||
print("@" + username + " bloccato.")
|
print("@" + username + " bloccato.")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
# Se la fase iniziale causa un errore, mandalo nel gruppo Royal Games.
|
||||||
telegram.sendmessage(chr(9762) + " *Errore critico:\n*"
|
telegram.sendmessage(chr(9762) + " *Errore critico:\n*"
|
||||||
"{0}\n\n"
|
"{}\n\n"
|
||||||
"Secondo me, è colpa dello stagista.".format(repr(e)), -2141322)
|
"Secondo me, è colpa {}.".format(repr(e), random.sample(stagismo, 1)[0]), -2141322)
|
||||||
print("\033[1mERRORE CRITICO:\n"
|
print("\033[1mERRORE CRITICO:\n"
|
||||||
"{0}\033[0m".format(repr(e)))
|
"{0}\033[0m".format(repr(e)))
|
||||||
|
# Se sei in modalità debug, interrompi l'esecuzione
|
||||||
if __debug__:
|
if __debug__:
|
||||||
raise
|
raise
|
||||||
|
|
12
db.py
12
db.py
|
@ -12,10 +12,10 @@ def findbyname(name: str):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
def findbykey(key, value):
|
# def findbykey(key, value):
|
||||||
for player in db:
|
# for player in db:
|
||||||
if player[key] == value:
|
# if player[key] == value:
|
||||||
return db[player]
|
# return db[player]
|
||||||
else:
|
# else:
|
||||||
return None
|
# return None
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue