1
Fork 0
mirror of https://github.com/RYGhub/royalnet.git synced 2025-02-25 14:15:04 +00:00

Rinominato vars e spostato l'orrendo coso delle mod in osu.py

This commit is contained in:
Steffo 2016-02-05 18:19:08 +01:00
parent a00171bd87
commit db19a97b90
2 changed files with 80 additions and 129 deletions

144
bot.py
View file

@ -89,7 +89,7 @@ rage = []
# TODO: Rimettere gli audio di Wololo # TODO: Rimettere gli audio di Wololo
# wololo = [] # wololo = []
audio = { audiolist = {
'madinuovo': 'BQADAgADMwIAAh8GgAFQaq1JNk1ZtwI', 'madinuovo': 'BQADAgADMwIAAh8GgAFQaq1JNk1ZtwI',
'sallati': 'BQADAgADrAIAAh8GgAHTdcu8cG-LbAI', 'sallati': 'BQADAgADrAIAAh8GgAHTdcu8cG-LbAI',
'giummipersempre': 'BQADAgADEAIAAh8GgAE4O2578G1EagI', 'giummipersempre': 'BQADAgADEAIAAh8GgAE4O2578G1EagI',
@ -111,7 +111,7 @@ audio = {
# Dizionario con i nomi utenti di osu! # Dizionario con i nomi utenti di osu!
# Se qualcuno cambia nome utente di Telegram, lo cambi anche QUI. # Se qualcuno cambia nome utente di Telegram, lo cambi anche QUI.
osunames = { osuplayers = {
'steffo': 'SteffoRYG', 'steffo': 'SteffoRYG',
'evilbalu': 'NemesisRYG', 'evilbalu': 'NemesisRYG',
'fultz': 'ftz99', 'fultz': 'ftz99',
@ -131,13 +131,13 @@ osunames = {
} }
# Elenco di username dei membri della RYG # Elenco di username dei membri della RYG
telegramnames = ['steffo', 'alby1', 'boni3099', 'maxsensei', 'cosimo03', 'frankrekt', 'heisendoc', 'acterryg', 'adry99', royalgames = ['steffo', 'alby1', 'boni3099', 'maxsensei', 'cosimo03', 'frankrekt', 'heisendoc', 'acterryg', 'adry99',
'alleanderl', 'thevagginadestroyer', 'tiztiztiz', 'fultz', 'gotob', 'enribenassati', 'iemax', 'alleanderl', 'thevagginadestroyer', 'tiztiztiz', 'fultz', 'gotob', 'enribenassati', 'iemax',
'peraemela99', 'ilgattopardo', 'mrdima98', 'ruozir', 'supersmurf', 'tauei', 'voltaggio', 'gibait'] 'peraemela99', 'ilgattopardo', 'mrdima98', 'ruozir', 'supersmurf', 'tauei', 'voltaggio', 'gibait']
# Dizionario con gli steamID # Dizionario con gli steamID
# Vedi sopra # Vedi sopra
steamids = { rygsteamids = {
'steffo': 76561198034314260, 'steffo': 76561198034314260,
'alby1': 76561198071383448, 'alby1': 76561198071383448,
'boni3099': 76561198131868211, 'boni3099': 76561198131868211,
@ -188,7 +188,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 telegramnames: if username.lower() in royalgames:
# Riconosci il comando. # Riconosci il comando.
# Viene usato startswith perchè il comando potrebbe anche essere inviato in forma /ciao@RoyalBot. # Viene usato startswith perchè il comando potrebbe anche essere inviato in forma /ciao@RoyalBot.
if text.startswith('/ahnonlosoio'): if text.startswith('/ahnonlosoio'):
@ -236,7 +236,7 @@ while True:
elif text.startswith('/audio'): elif text.startswith('/audio'):
print("@" + username + ": /audio") print("@" + username + ": /audio")
cmd = text.split(" ", 1) cmd = text.split(" ", 1)
sendme = audio[cmd[1]] sendme = audiolist[cmd[1]]
telegram.senddocument(sendme, sentin) telegram.senddocument(sendme, sentin)
elif text.startswith('/sbam'): elif text.startswith('/sbam'):
print("@" + username + ": /sbam") print("@" + username + ": /sbam")
@ -274,73 +274,15 @@ while True:
else: else:
# Se ci sono delle mod attive... # Se ci sono delle mod attive...
if "enabled_mods" in r: if "enabled_mods" in r:
mods = "*Mod:*" mods = osu.listmods(r['enabled_mods'])
# Dividi in bit l'ID delle mod selezionate usando un bitwise and
# Forse si potrebbe rifare usando la forma esadecimale...?
if int(r['enabled_mods']) & 0x1:
mods += " NoFail"
if int(r['enabled_mods']) & 0x2:
mods += " Easy"
if int(r['enabled_mods']) & 0x4:
mods += " NoVideo (?)"
if int(r['enabled_mods']) & 0x8:
mods += " Hidden"
if int(r['enabled_mods']) & 0x10:
mods += " HardRock"
if int(r['enabled_mods']) & 0x20:
mods += " SuddenDeath"
if int(r['enabled_mods']) & 0x40:
mods += " DoubleTime"
if int(r['enabled_mods']) & 0x80:
mods += " Relax"
if int(r['enabled_mods']) & 0x100:
mods += " HalfTime"
if int(r['enabled_mods']) & 0x200:
mods += " Nightcore"
if int(r['enabled_mods']) & 0x400:
mods += " Flashlight"
if int(r['enabled_mods']) & 0x800:
mods += " Autoplay"
if int(r['enabled_mods']) & 0x1000:
mods += " SpunOut"
if int(r['enabled_mods']) & 0x2000:
mods += " Autopilot"
if int(r['enabled_mods']) & 0x4000:
mods += " Perfect"
if int(r['enabled_mods']) & 0x8000:
mods += " 4K"
if int(r['enabled_mods']) & 0x10000:
mods += " 5K"
if int(r['enabled_mods']) & 0x20000:
mods += " 6K"
if int(r['enabled_mods']) & 0x40000:
mods += " 7K"
if int(r['enabled_mods']) & 0x80000:
mods += " 8K"
if int(r['enabled_mods']) & 0x100000:
mods += " FadeIn"
if int(r['enabled_mods']) & 0x200000:
mods += " Random"
if int(r['enabled_mods']) & 0x400000:
mods += " 9K"
if int(r['enabled_mods']) & 0x800000:
mods += " 10K"
if int(r['enabled_mods']) & 0x1000000:
mods += " 1K"
if int(r['enabled_mods']) & 0x2000000:
mods += " 3K"
if int(r['enabled_mods']) & 0x4000000:
mods += " 2K"
mods += '\n'
else: else:
# Lascia la riga delle mod vuota. mods = ""
mods = '\n'
if mode == 0: if mode == 0:
# Visualizza le informazioni relative alla modalità osu! # Visualizza le informazioni relative alla modalità osu!
telegram.sendmessage("*osu!*\n" telegram.sendmessage("*osu!*\n"
"[Beatmap " + r['beatmap_id'] + "](" + 'https://osu.ppy.sh/b/' + r[ "[Beatmap " + r['beatmap_id'] + "](" + 'https://osu.ppy.sh/b/' + r[
'beatmap_id'] + 'beatmap_id'] +
")\n*" + r['rank'] + "*\n" + mods + ")\n*" + r['rank'] + "*\n" + mods + "\n"
"*Punti*: " + r['score'] + "\n" "*Punti*: " + r['score'] + "\n"
"*Combo* x" + r['maxcombo'] + "\n" "*Combo* x" + r['maxcombo'] + "\n"
"*300*: " + r['count300'] + "\n" "*300*: " + r['count300'] + "\n"
@ -389,68 +331,12 @@ while True:
"*Miss*: " + r['countmiss'], sentin, source) "*Miss*: " + r['countmiss'], sentin, source)
else: else:
# TODO: Mettere a posto sto schifo. # TODO: Mettere a posto sto schifo.
if username.lower() in osunames: if username.lower() in osuplayers:
r = osu.getuserrecent(osunames[username.lower()], 0) r = osu.getuserrecent(osuplayers[username.lower()], 0)
if "enabled_mods" in r: if "enabled_mods" in r:
mods = "*Mod:*" mods = osu.listmods(r['enabled_mods'])
# Dividi in bit l'ID delle mod selezionate
if int(r['enabled_mods']) & 0b1:
mods += " NoFail"
if int(r['enabled_mods']) & 0b10:
mods += " Easy"
if int(r['enabled_mods']) & 0b100:
mods += " NoVideo (?)"
if int(r['enabled_mods']) & 0b1000:
mods += " Hidden"
if int(r['enabled_mods']) & 0b10000:
mods += " HardRock"
if int(r['enabled_mods']) & 0b100000:
mods += " SuddenDeath"
if int(r['enabled_mods']) & 0b1000000:
mods += " DoubleTime"
if int(r['enabled_mods']) & 0b10000000:
mods += " Relax"
if int(r['enabled_mods']) & 0b100000000:
mods += " HalfTime"
if int(r['enabled_mods']) & 0b1000000000:
mods += " Nightcore"
if int(r['enabled_mods']) & 0b10000000000:
mods += " Flashlight"
if int(r['enabled_mods']) & 0b100000000000:
mods += " Autoplay"
if int(r['enabled_mods']) & 0b1000000000000:
mods += " SpunOut"
if int(r['enabled_mods']) & 0b10000000000000:
mods += " Autopilot"
if int(r['enabled_mods']) & 0b100000000000000:
mods += " Perfect"
if int(r['enabled_mods']) & 0b1000000000000000:
mods += " 4K"
if int(r['enabled_mods']) & 0b10000000000000000:
mods += " 5K"
if int(r['enabled_mods']) & 0b100000000000000000:
mods += " 6K"
if int(r['enabled_mods']) & 0b1000000000000000000:
mods += " 7K"
if int(r['enabled_mods']) & 0b10000000000000000000:
mods += " 8K"
if int(r['enabled_mods']) & 0b100000000000000000000:
mods += " FadeIn"
if int(r['enabled_mods']) & 0b1000000000000000000000:
mods += " Random"
if int(r['enabled_mods']) & 0b1000000000000000000000000:
mods += " 9K"
if int(r['enabled_mods']) & 0b10000000000000000000000000:
mods += " 10K"
if int(r['enabled_mods']) & 0b100000000000000000000000000:
mods += " 1K"
if int(r['enabled_mods']) & 0b1000000000000000000000000000:
mods += " 3K"
if int(r['enabled_mods']) & 0b10000000000000000000000000000:
mods += " 2K"
mods += '\n'
else: else:
mods = '\n' mods = ""
telegram.sendmessage("*Osu!*\n" telegram.sendmessage("*Osu!*\n"
"[Beatmap " + r['beatmap_id'] + "](" + 'https://osu.ppy.sh/b/' + r[ "[Beatmap " + r['beatmap_id'] + "](" + 'https://osu.ppy.sh/b/' + r[
'beatmap_id'] + 'beatmap_id'] +
@ -594,8 +480,8 @@ while True:
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 nome in steamids: for nome in rygsteamids:
userids += str(steamids[nome]) + ',' userids += str(rygsteamids[nome]) + ','
tosend = "*Online ora:*\n" tosend = "*Online ora:*\n"
r = steam.getplayersummaries(userids) r = steam.getplayersummaries(userids)
for player in r: for player in r:

65
osu.py
View file

@ -86,3 +86,68 @@ def getuserrecent(user, mode=0):
return r[0] return r[0]
else: else:
raise NameError raise NameError
def listmods(n):
"""
Trasforma il valore restituito dall'API di osu! di enabled_mods in una stringa contenente l'elenco corrispondente a
parole.
:param n: Valore da trasformare in stringa
"""
mods = "*Mod:*"
# Dividi in bit l'ID delle mod selezionate usando un bitwise and
# Forse si potrebbe rifare usando la forma esadecimale...?
if int(n) & 0x1:
mods += " NoFail"
if int(n) & 0x2:
mods += " Easy"
if int(n) & 0x4:
mods += " NoVideo (?)"
if int(n) & 0x8:
mods += " Hidden"
if int(n) & 0x10:
mods += " HardRock"
if int(n) & 0x20:
mods += " SuddenDeath"
if int(n) & 0x40:
mods += " DoubleTime"
if int(n) & 0x80:
mods += " Relax"
if int(n) & 0x100:
mods += " HalfTime"
if int(n) & 0x200:
mods += " Nightcore"
if int(n) & 0x400:
mods += " Flashlight"
if int(n) & 0x800:
mods += " Autoplay"
if int(n) & 0x1000:
mods += " SpunOut"
if int(n) & 0x2000:
mods += " Autopilot"
if int(n) & 0x4000:
mods += " Perfect"
if int(n) & 0x8000:
mods += " 4K"
if int(n) & 0x10000:
mods += " 5K"
if int(n) & 0x20000:
mods += " 6K"
if int(n) & 0x40000:
mods += " 7K"
if int(n) & 0x80000:
mods += " 8K"
if int(n) & 0x100000:
mods += " FadeIn"
if int(n) & 0x200000:
mods += " Random"
if int(n) & 0x400000:
mods += " 9K"
if int(n) & 0x800000:
mods += " 10K"
if int(n) & 0x1000000:
mods += " 1K"
if int(n) & 0x2000000:
mods += " 3K"
if int(n) & 0x4000000:
mods += " 2K"
return mods