mirror of
https://github.com/RYGhub/royal-mifia.git
synced 2024-11-23 06:14:18 +00:00
Bugfix e miglioramenti vari.
This commit is contained in:
parent
e42ec14f74
commit
f11f96376d
7 changed files with 32 additions and 17 deletions
27
main.py
27
main.py
|
@ -44,17 +44,24 @@ class Player:
|
|||
def __str__(self) -> str:
|
||||
return "@{}".format(self.tusername)
|
||||
|
||||
def message(self, text: str):
|
||||
def message(self, text: str, *args, **kwargs):
|
||||
"""Manda un messaggio privato al giocatore."""
|
||||
if not self.dummy:
|
||||
self.game.bot.sendMessage(self.tid, text, parse_mode=ParseMode.MARKDOWN)
|
||||
while True:
|
||||
try:
|
||||
self.game.bot.sendMessage(self.tid, text, *args, parse_mode=ParseMode.MARKDOWN, **kwargs)
|
||||
except TimedOut:
|
||||
print("Timed out, pausing for 5 seconds...")
|
||||
time.sleep(5)
|
||||
else:
|
||||
break
|
||||
|
||||
def kill(self):
|
||||
"""Uccidi il giocatore."""
|
||||
self.role.ondeath()
|
||||
self.alive = False
|
||||
# Silenzia il giocatore
|
||||
if self is not self.game.admin:
|
||||
if self is not self.game.admin and not self.dummy:
|
||||
try:
|
||||
self.game.bot.restrictChatMember(self.game.groupid, self.tid, None, False, False, False, False)
|
||||
except Unauthorized:
|
||||
|
@ -110,9 +117,16 @@ class Game:
|
|||
.format(name=self.name, groupid=self.groupid, nplayers=len(self.players), phase=self.phase)
|
||||
return r
|
||||
|
||||
def message(self, text: str):
|
||||
def message(self, text: str, *args, **kwargs):
|
||||
"""Manda un messaggio nel gruppo."""
|
||||
self.bot.sendMessage(self.groupid, text, parse_mode=ParseMode.MARKDOWN)
|
||||
while True:
|
||||
try:
|
||||
self.bot.sendMessage(self.groupid, text, *args, parse_mode=ParseMode.MARKDOWN, **kwargs)
|
||||
except TimedOut:
|
||||
print("Timed out, pausing for 5 seconds...")
|
||||
time.sleep(5)
|
||||
else:
|
||||
break
|
||||
|
||||
def adminmessage(self, text: str):
|
||||
"""Manda un messaggio privato al creatore della partita."""
|
||||
|
@ -880,7 +894,8 @@ def inlinekeyboard(bot: Bot, update):
|
|||
|
||||
|
||||
def breakpoint_here(*args, **kwargs):
|
||||
pass
|
||||
if args[2] == "Timed out":
|
||||
print("Si è buggato tutto. As usual.")
|
||||
|
||||
|
||||
updater.dispatcher.add_handler(CommandHandler('ping', ping))
|
||||
|
|
|
@ -29,7 +29,7 @@ class Corrotto(Role):
|
|||
return
|
||||
# Utilizza il potere su quella persona
|
||||
self.poweruses -= 1
|
||||
self.player.message(s.detective_discovery.format(target=target.tusername, icon=target.role.icon, role=target.role.name, left=self.poweruses))
|
||||
self.player.message(s.detective_discovery.format(target_score=100, target=target.tusername, icon=target.role.icon, role=target.role.name))
|
||||
|
||||
def onendday(self):
|
||||
# Ripristina il potere
|
||||
|
|
|
@ -33,10 +33,10 @@ class Disastro(Role):
|
|||
target_score = random.randrange(0, 25) + 1
|
||||
score = random.randrange(0, 100) + 1
|
||||
if score < target_score:
|
||||
role = target.role.name
|
||||
role = target.role
|
||||
else:
|
||||
role = self.player.game.getrandomrole().name
|
||||
self.player.message(s.detective_discovery.format(target_score=100-target_score, target=target.tusername, icon=target.role.icon, role=role))
|
||||
role = self.player.game.getrandomrole()
|
||||
self.player.message(s.detective_discovery.format(target_score=100-target_score, target=target.tusername, icon=role.icon, role=role.name))
|
||||
|
||||
def onendday(self):
|
||||
# Ripristina il potere
|
||||
|
|
|
@ -33,10 +33,10 @@ class Investigatore(Role):
|
|||
target_score = random.randrange(0, 25) + 1
|
||||
score = random.randrange(0, 100) + 1
|
||||
if score > target_score:
|
||||
role = target.role.name
|
||||
role = target.role
|
||||
else:
|
||||
role = self.player.game.getrandomrole().name
|
||||
self.player.message(s.detective_discovery.format(target_score=100-target_score, target=target.tusername, icon=target.role.icon, role=role))
|
||||
role = self.player.game.getrandomrole()
|
||||
self.player.message(s.detective_discovery.format(target_score=100-target_score, target=target.tusername, icon=role.icon, role=role.name))
|
||||
|
||||
def onendday(self):
|
||||
# Ripristina il potere
|
||||
|
|
|
@ -20,7 +20,7 @@ class Mamma(Role):
|
|||
self.player.message(s.mom_discovery.format(target=target.tusername, icon=target.role.icon, role=target.role.name))
|
||||
|
||||
def onendday(self):
|
||||
if random.randrange(0, 10) > 7:
|
||||
if random.randrange(0, 10) > 5:
|
||||
# Scegli un bersaglio casuale che non sia il giocatore stesso
|
||||
possibletargets = self.player.game.players.copy()
|
||||
possibletargets.remove(self.player)
|
||||
|
|
|
@ -38,6 +38,6 @@ class Vigilante(Role):
|
|||
# Resetta la protezione
|
||||
if self.target is not None:
|
||||
self.target.kill()
|
||||
self.player.game.message()
|
||||
self.player.game.message(s.vigilante_execution.format(target=self.target.tusername, icon=self.target.role.icon, role=self.target.role.name))
|
||||
self.power_was_used = True
|
||||
self.target = None
|
||||
|
|
|
@ -364,7 +364,7 @@ warning_bot_not_admin = "\U000026A0 Attenzione! Il bot non è amministratore in
|
|||
error_username = "\U000026A0 Il nome utente specificato non esiste."
|
||||
|
||||
# Errore: usi del potere esauriti
|
||||
error_no_uses = "\U000026A0 Non puoi più usare il tuo potere per oggi."
|
||||
error_no_uses = "\U000026A0 Hai finito gli utilizzi del tuo potere."
|
||||
|
||||
# Errore: numero troppo basso di giocatori
|
||||
error_not_enough_players = "\U000026A0 Non ci sono abbastanza giocatori per avviare la partita."
|
||||
|
@ -438,7 +438,7 @@ fatal_bot_rate_limited = "\U0001F6D1 **Errore critico:** Il bot ha inviato tropp
|
|||
if __debug__:
|
||||
names_list = ["Dev"]
|
||||
else:
|
||||
names_list = ["Eleven"]
|
||||
names_list = ["Tredici"]
|
||||
|
||||
# Scegli il preset
|
||||
preset_choose = "*Seleziona un preset per la partita:*"
|
||||
|
|
Loading…
Reference in a new issue