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:
|
def __str__(self) -> str:
|
||||||
return "@{}".format(self.tusername)
|
return "@{}".format(self.tusername)
|
||||||
|
|
||||||
def message(self, text: str):
|
def message(self, text: str, *args, **kwargs):
|
||||||
"""Manda un messaggio privato al giocatore."""
|
"""Manda un messaggio privato al giocatore."""
|
||||||
if not self.dummy:
|
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):
|
def kill(self):
|
||||||
"""Uccidi il giocatore."""
|
"""Uccidi il giocatore."""
|
||||||
self.role.ondeath()
|
self.role.ondeath()
|
||||||
self.alive = False
|
self.alive = False
|
||||||
# Silenzia il giocatore
|
# Silenzia il giocatore
|
||||||
if self is not self.game.admin:
|
if self is not self.game.admin and not self.dummy:
|
||||||
try:
|
try:
|
||||||
self.game.bot.restrictChatMember(self.game.groupid, self.tid, None, False, False, False, False)
|
self.game.bot.restrictChatMember(self.game.groupid, self.tid, None, False, False, False, False)
|
||||||
except Unauthorized:
|
except Unauthorized:
|
||||||
|
@ -110,9 +117,16 @@ class Game:
|
||||||
.format(name=self.name, groupid=self.groupid, nplayers=len(self.players), phase=self.phase)
|
.format(name=self.name, groupid=self.groupid, nplayers=len(self.players), phase=self.phase)
|
||||||
return r
|
return r
|
||||||
|
|
||||||
def message(self, text: str):
|
def message(self, text: str, *args, **kwargs):
|
||||||
"""Manda un messaggio nel gruppo."""
|
"""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):
|
def adminmessage(self, text: str):
|
||||||
"""Manda un messaggio privato al creatore della partita."""
|
"""Manda un messaggio privato al creatore della partita."""
|
||||||
|
@ -880,7 +894,8 @@ def inlinekeyboard(bot: Bot, update):
|
||||||
|
|
||||||
|
|
||||||
def breakpoint_here(*args, **kwargs):
|
def breakpoint_here(*args, **kwargs):
|
||||||
pass
|
if args[2] == "Timed out":
|
||||||
|
print("Si è buggato tutto. As usual.")
|
||||||
|
|
||||||
|
|
||||||
updater.dispatcher.add_handler(CommandHandler('ping', ping))
|
updater.dispatcher.add_handler(CommandHandler('ping', ping))
|
||||||
|
|
|
@ -29,7 +29,7 @@ class Corrotto(Role):
|
||||||
return
|
return
|
||||||
# Utilizza il potere su quella persona
|
# Utilizza il potere su quella persona
|
||||||
self.poweruses -= 1
|
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):
|
def onendday(self):
|
||||||
# Ripristina il potere
|
# Ripristina il potere
|
||||||
|
|
|
@ -33,10 +33,10 @@ class Disastro(Role):
|
||||||
target_score = random.randrange(0, 25) + 1
|
target_score = random.randrange(0, 25) + 1
|
||||||
score = random.randrange(0, 100) + 1
|
score = random.randrange(0, 100) + 1
|
||||||
if score < target_score:
|
if score < target_score:
|
||||||
role = target.role.name
|
role = target.role
|
||||||
else:
|
else:
|
||||||
role = self.player.game.getrandomrole().name
|
role = self.player.game.getrandomrole()
|
||||||
self.player.message(s.detective_discovery.format(target_score=100-target_score, target=target.tusername, icon=target.role.icon, role=role))
|
self.player.message(s.detective_discovery.format(target_score=100-target_score, target=target.tusername, icon=role.icon, role=role.name))
|
||||||
|
|
||||||
def onendday(self):
|
def onendday(self):
|
||||||
# Ripristina il potere
|
# Ripristina il potere
|
||||||
|
|
|
@ -33,10 +33,10 @@ class Investigatore(Role):
|
||||||
target_score = random.randrange(0, 25) + 1
|
target_score = random.randrange(0, 25) + 1
|
||||||
score = random.randrange(0, 100) + 1
|
score = random.randrange(0, 100) + 1
|
||||||
if score > target_score:
|
if score > target_score:
|
||||||
role = target.role.name
|
role = target.role
|
||||||
else:
|
else:
|
||||||
role = self.player.game.getrandomrole().name
|
role = self.player.game.getrandomrole()
|
||||||
self.player.message(s.detective_discovery.format(target_score=100-target_score, target=target.tusername, icon=target.role.icon, role=role))
|
self.player.message(s.detective_discovery.format(target_score=100-target_score, target=target.tusername, icon=role.icon, role=role.name))
|
||||||
|
|
||||||
def onendday(self):
|
def onendday(self):
|
||||||
# Ripristina il potere
|
# 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))
|
self.player.message(s.mom_discovery.format(target=target.tusername, icon=target.role.icon, role=target.role.name))
|
||||||
|
|
||||||
def onendday(self):
|
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
|
# Scegli un bersaglio casuale che non sia il giocatore stesso
|
||||||
possibletargets = self.player.game.players.copy()
|
possibletargets = self.player.game.players.copy()
|
||||||
possibletargets.remove(self.player)
|
possibletargets.remove(self.player)
|
||||||
|
|
|
@ -38,6 +38,6 @@ class Vigilante(Role):
|
||||||
# Resetta la protezione
|
# Resetta la protezione
|
||||||
if self.target is not None:
|
if self.target is not None:
|
||||||
self.target.kill()
|
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.power_was_used = True
|
||||||
self.target = None
|
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."
|
error_username = "\U000026A0 Il nome utente specificato non esiste."
|
||||||
|
|
||||||
# Errore: usi del potere esauriti
|
# 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
|
# Errore: numero troppo basso di giocatori
|
||||||
error_not_enough_players = "\U000026A0 Non ci sono abbastanza giocatori per avviare la partita."
|
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__:
|
if __debug__:
|
||||||
names_list = ["Dev"]
|
names_list = ["Dev"]
|
||||||
else:
|
else:
|
||||||
names_list = ["Eleven"]
|
names_list = ["Tredici"]
|
||||||
|
|
||||||
# Scegli il preset
|
# Scegli il preset
|
||||||
preset_choose = "*Seleziona un preset per la partita:*"
|
preset_choose = "*Seleziona un preset per la partita:*"
|
||||||
|
|
Loading…
Reference in a new issue