From 97efbec6a46b4e9ce27e0252743dc29242e04445 Mon Sep 17 00:00:00 2001 From: AlberLC Date: Thu, 10 Nov 2022 19:55:20 +0100 Subject: [PATCH] Add PollBot._on_delete_all_votes --- flanabot/bots/poll_bot.py | 21 +++++++++-- flanabot/constants.py | 79 ++++++++------------------------------- 2 files changed, 34 insertions(+), 66 deletions(-) diff --git a/flanabot/bots/poll_bot.py b/flanabot/bots/poll_bot.py index 53362fd..2b68409 100644 --- a/flanabot/bots/poll_bot.py +++ b/flanabot/bots/poll_bot.py @@ -28,6 +28,9 @@ class PollBot(MultiBot, ABC): self.register(self._on_choose, constants.KEYWORDS['random'], priority=2) self.register(self._on_choose, (constants.KEYWORDS['choose'], constants.KEYWORDS['random']), priority=2) + self.register(self._on_delete_all_votes, (multibot_constants.KEYWORDS['deactivate'], multibot_constants.KEYWORDS['all'], constants.KEYWORDS['vote'])) + self.register(self._on_delete_all_votes, (multibot_constants.KEYWORDS['delete'], multibot_constants.KEYWORDS['all'], constants.KEYWORDS['vote'])) + self.register(self._on_delete_votes, (multibot_constants.KEYWORDS['deactivate'], constants.KEYWORDS['vote'])) self.register(self._on_delete_votes, (multibot_constants.KEYWORDS['delete'], constants.KEYWORDS['vote'])) @@ -131,7 +134,19 @@ class PollBot(MultiBot, ABC): else: await self.send(random.choice(('¿Que elija el qué?', '¿Y las opciones?', '?', '🤔')), message) - @admin + @admin(send_negative=True) + async def _on_delete_all_votes(self, message: Message): + if message.chat.is_group and not self.is_bot_mentioned(message) or not (poll_message := await self._get_poll_message(message)): + return + + await self.delete_message(message) + + for option_name, option_votes in poll_message.contents['poll']['votes'].items(): + poll_message.contents['poll']['votes'][option_name].clear() + + await self._update_poll_buttons(poll_message) + + @admin(send_negative=True) async def _on_delete_votes(self, message: Message): if message.chat.is_group and not self.is_bot_mentioned(message) or not (poll_message := await self._get_poll_message(message)): return @@ -246,7 +261,7 @@ class PollBot(MultiBot, ABC): if not message.replied_message: await self.send(text, reply_to=poll_message) - @admin + @admin(send_negative=True) async def _on_voting_ban(self, message: Message): if message.chat.is_group and not self.is_bot_mentioned(message) or not (poll_message := await self._get_poll_message(message)): return @@ -258,7 +273,7 @@ class PollBot(MultiBot, ABC): poll_message.contents['poll']['banned_users_tries'][str(user.id)] = 0 poll_message.save() - @admin + @admin(send_negative=True) async def _on_voting_unban(self, message: Message): if message.chat.is_group and not self.is_bot_mentioned(message) or not (poll_message := await self._get_poll_message(message)): return diff --git a/flanabot/constants.py b/flanabot/constants.py index de1dc69..bddbb84 100644 --- a/flanabot/constants.py +++ b/flanabot/constants.py @@ -18,69 +18,22 @@ BYE_PHRASES = ('Adiós.', 'adio', 'adioh', 'adios', 'adió', 'adiós', 'agur', ' HELLO_PHRASES = ('alo', 'aloh', 'buenas', 'Hola.', 'hello', 'hey', 'hi', 'hola', 'holaaaa', 'holaaaaaaa', 'ola', 'ola k ase', 'pa ti mi cola', 'saludos') -INSULTS = ( - '._.', - 'aha', - 'Aléjate de mi.', - 'Ante la duda mi dedo corazón te saluda.', - 'Baneito pa ti en breve.', - 'Calla noob.', - 'Cansino.', - 'Cuéntame menos.', - 'Cuéntame más.', - 'Cállate ya anda.', - 'Cállate.', - 'Das penilla.', - 'De verdad. Estás para encerrarte.', - 'Deberían hacerte la táctica del C4.', - 'Despídete de tu cuenta.', - 'Déjame tranquilo.', - 'Enjoy cancer brain.', - 'Eres cortito, ¿eh?', - 'Eres más malo que pegarle a un padre.', - 'Eres más tonto que peinar bombillas.', - 'Eres más tonto que pellizcar cristales.', - 'Estás mal de la azotea.', - 'Estás mal de la cabeza.', - 'Flanagan es más guapo que tú.', - 'Hablas tanta mierda que tu culo tiene envidia de tu boca.', - 'Hay un concurso de hostias y tienes todas las papeletas.', - 'Loco.', - 'Más tonto y no naces.', - 'No eres muy avispado tú...', - 'Pesado.', - 'Qué bien, ¿eh?', - 'Que me dejes en paz.', - 'Qué pesado.', - 'Quita bicho.', - 'Reportaito mi arma.', - 'Reported.', - 'Retard.', - 'Te voy romper las pelotas.', - 'Tú... no estás muy bien, ¿no?', - 'Ya estamos otra vez...', - 'Ya estamos...', - 'enjoy xd', - 'jAJjajAJjajAJjajAJajJAJajJA', - 'jajaj', - 'o_O', - 'xd', - '¿Otra vez tú?', - '¿Pero cuándo te vas a callar?', - '¿Por qué no te callas?', - '¿Quién te ha preguntado?', - '¿Qué quieres?', - '¿Te callas o te callo?', - '¿Te imaginas que me interesa?', - '¿Te quieres callar?', - '¿Todo bien?', - '¿Tú eres así o te dan apagones cerebrales?', - '🖕', - '😑', - '🙄', - '🤔', - '🤨' -) + +INSULTS = ('._.', 'aha', 'Aléjate de mi.', 'Ante la duda mi dedo corazón te saluda.', 'Baneito pa ti en breve.', + 'Calla noob.', 'Cansino.', 'Cuéntame menos.', 'Cuéntame más.', 'Cállate ya anda.', 'Cállate.', + 'Das penilla.', 'De verdad. Estás para encerrarte.', 'Deberían hacerte la táctica del C4.', + 'Despídete de tu cuenta.', 'Déjame tranquilo.', 'Enjoy cancer brain.', 'Eres cortito, ¿eh?', + 'Eres más malo que pegarle a un padre.', 'Eres más tonto que peinar bombillas.', + 'Eres más tonto que pellizcar cristales.', 'Estás mal de la azotea.', 'Estás mal de la cabeza.', + 'Flanagan es más guapo que tú.', 'Hablas tanta mierda que tu culo tiene envidia de tu boca.', + 'Hay un concurso de hostias y tienes todas las papeletas.', 'Loco.', 'Más tonto y no naces.', + 'No eres muy avispado tú...', 'Pesado.', 'Qué bien, ¿eh?', 'Que me dejes en paz.', 'Qué pesado.', + 'Quita bicho.', 'Reportaito mi arma.', 'Reported.', 'Retard.', 'Te voy romper las pelotas.', + 'Tú... no estás muy bien, ¿no?', 'Ya estamos otra vez...', 'Ya estamos...', 'enjoy xd', + 'jAJjajAJjajAJjajAJajJAJajJA', 'jajaj', 'o_O', 'xd', '¿Otra vez tú?', '¿Pero cuándo te vas a callar?', + '¿Por qué no te callas?', '¿Quién te ha preguntado?', '¿Qué quieres?', '¿Te callas o te callo?', + '¿Te imaginas que me interesa?', '¿Te quieres callar?', '¿Todo bien?', + '¿Tú eres así o te dan apagones cerebrales?', '🖕', '😑', '🙄', '🤔', '🤨') KEYWORDS = { 'choose': ('choose', 'elige', 'escoge'),