mirror of
https://github.com/RYGhub/royal-mifia.git
synced 2024-11-21 21:34:20 +00:00
Reso disponibile il comando /delete al creatore della partita
This commit is contained in:
parent
1832da7610
commit
13a76f08de
2 changed files with 35 additions and 15 deletions
46
main.py
46
main.py
|
@ -133,7 +133,7 @@ class Game:
|
|||
return None
|
||||
|
||||
def updategroupname(self):
|
||||
"""Cambia il titolo della chat. Per qualche motivo non funziona."""
|
||||
"""Aggiorna il titolo della chat."""
|
||||
try:
|
||||
if self.phase == "Voting":
|
||||
self.bot.set_chat_title(self.groupid, s.group_name.format(phase=s.day.format(day=self.day), name=self.name))
|
||||
|
@ -535,6 +535,13 @@ def newgame(bot: Bot, update):
|
|||
if game is not None:
|
||||
bot.sendMessage(update.message.chat.id, s.error_game_in_progress, parse_mode=ParseMode.MARKDOWN)
|
||||
return
|
||||
# Controlla che il bot sia un amministratore nel supergruppo
|
||||
admins = bot.getChatAdministrators(update.message.chat.id)
|
||||
for admin in admins:
|
||||
if admin.user.id == bot.id:
|
||||
break
|
||||
else:
|
||||
bot.sendMessage(update.message.chat.id, s.warning_bot_not_admin)
|
||||
game = Game(bot, update.message.chat.id)
|
||||
inprogress.append(game)
|
||||
game.message(s.new_game.format(name=game.name))
|
||||
|
@ -736,22 +743,31 @@ def kill(bot: Bot, update):
|
|||
def delete(bot: Bot, update):
|
||||
"""Elimina una partita in corso."""
|
||||
if update.message.chat.type == 'private':
|
||||
if update.message.from_user.username == "Steffo":
|
||||
cmd = update.message.text.split(' ', 2)
|
||||
game = findgamebyname(cmd[1])
|
||||
# Se non lo trovi con il nome, prova con l'id
|
||||
if game is None:
|
||||
game = findgamebyid(int(cmd[1]))
|
||||
if game is not None:
|
||||
game.message(s.owner_ended)
|
||||
game.endgame()
|
||||
else:
|
||||
game.message(s.error_no_games_found)
|
||||
else:
|
||||
if update.message.from_user.username != "Steffo":
|
||||
bot.sendMessage(update.message.chat.id, s.error_not_owner, parse_mode=ParseMode.MARKDOWN)
|
||||
return
|
||||
cmd = update.message.text.split(' ', 2)
|
||||
game = findgamebyname(cmd[1])
|
||||
# Se non lo trovi con il nome, prova con l'id
|
||||
if game is None:
|
||||
game = findgamebyid(int(cmd[1]))
|
||||
# Ehhh pazienza non c'è neanche con l'id
|
||||
if game is None:
|
||||
bot.sendMessage(update.message.chat.id, s.error_no_games_found)
|
||||
game.message(s.owner_ended)
|
||||
game.endgame()
|
||||
else:
|
||||
bot.sendMessage(update.message.chat.id, s.error_chat_type, parse_mode=ParseMode.MARKDOWN)
|
||||
|
||||
# Trova la partita
|
||||
game = findgamebyid(update.message.chat.id)
|
||||
# Controlla che la partita esista
|
||||
if game is None:
|
||||
bot.sendMessage(update.message.chat.id, s.error_no_games_found)
|
||||
return
|
||||
# Controlla se è admin
|
||||
if game.admin.tid != update.message.from_user.id:
|
||||
game.message(s.error_not_admin)
|
||||
return
|
||||
game.endgame()
|
||||
|
||||
def load(bot: Bot, update):
|
||||
"""Carica una partita salvata."""
|
||||
|
|
|
@ -324,6 +324,10 @@ debug_mode = "*DEBUG/CHEATS MODE*\n"
|
|||
# Ping!
|
||||
pong = "Pong!"
|
||||
|
||||
# Attenzione: il bot non è amministratore
|
||||
warning_bot_not_admin = "\U000026A0 Attenzione! Il bot non è amministratore in questo supergruppo.\n" \
|
||||
"E' possibile comunque giocare una partita, ma alcune funzioni non saranno disponibili."
|
||||
|
||||
# Errore: nome utente inesistente
|
||||
error_username = "\U000026A0 Il nome utente specificato non esiste."
|
||||
|
||||
|
|
Loading…
Reference in a new issue