Added logic to count moved users to mass move #156
This commit is contained in:
		 Submodule kdb-bot/src/bot/config updated: c8983770f7...0b18f8e596
									
								
							@@ -14,6 +14,9 @@ class ClientUtilsServiceABC(ABC):
 | 
			
		||||
    @abstractmethod
 | 
			
		||||
    def moved_user(self, guild_id: int): pass
 | 
			
		||||
 | 
			
		||||
    @abstractmethod
 | 
			
		||||
    def moved_users(self, guild_id: int, count: int): pass
 | 
			
		||||
 | 
			
		||||
    @abstractmethod
 | 
			
		||||
    def get_client(self, dc_ic: int, guild_id: int): pass
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -54,6 +54,13 @@ class ClientUtilsService(ClientUtilsServiceABC):
 | 
			
		||||
        self._clients.update_client(client)
 | 
			
		||||
        self._db.save_changes()
 | 
			
		||||
 | 
			
		||||
    def moved_users(self, guild_id: int, count: int):
 | 
			
		||||
        server = self._servers.get_server_by_discord_id(guild_id)
 | 
			
		||||
        client = self._clients.find_client_by_discord_id_and_server_id(self._bot.user.id, server.server_id)
 | 
			
		||||
        client.moved_users_count += count
 | 
			
		||||
        self._clients.update_client(client)
 | 
			
		||||
        self._db.save_changes()
 | 
			
		||||
 | 
			
		||||
    def get_client(self, dc_ic: int, guild_id: int):
 | 
			
		||||
        server = self._servers.get_server_by_discord_id(guild_id)
 | 
			
		||||
        client = self._clients.find_client_by_discord_id_and_server_id(self._bot.user.id, server.server_id)
 | 
			
		||||
 
 | 
			
		||||
@@ -10,6 +10,7 @@ from discord.ext.commands import Context
 | 
			
		||||
from bot_core.abc.message_service_abc import MessageServiceABC
 | 
			
		||||
from bot_core.helper.command_checks import CommandChecks
 | 
			
		||||
from bot_core.logging.command_logger import CommandLogger
 | 
			
		||||
from bot_core.service.client_utils_service import ClientUtilsService
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class MassMoveCommand(DiscordCommandABC):
 | 
			
		||||
@@ -20,12 +21,14 @@ class MassMoveCommand(DiscordCommandABC):
 | 
			
		||||
            message_service: MessageServiceABC,
 | 
			
		||||
            bot: DiscordBotServiceABC,
 | 
			
		||||
            translate: TranslatePipe,
 | 
			
		||||
            client_utils: ClientUtilsService
 | 
			
		||||
    ):
 | 
			
		||||
        DiscordCommandABC.__init__(self)
 | 
			
		||||
        self._logger = logger
 | 
			
		||||
        self._message_service = message_service
 | 
			
		||||
        self._bot = bot
 | 
			
		||||
        self._t = translate
 | 
			
		||||
        self._client_utils = client_utils
 | 
			
		||||
 | 
			
		||||
    @commands.hybrid_command(name='mass-move')
 | 
			
		||||
    @CommandChecks.check_is_ready()
 | 
			
		||||
@@ -42,7 +45,9 @@ class MassMoveCommand(DiscordCommandABC):
 | 
			
		||||
            channel_from = ctx.author.voice.channel
 | 
			
		||||
 | 
			
		||||
        moves = [member.move_to(channel_to) for member in channel_from.members]
 | 
			
		||||
        move_count = len(moves)
 | 
			
		||||
        await asyncio.gather(*moves)
 | 
			
		||||
        self._client_utils.moved_users(ctx.guild.id, move_count)
 | 
			
		||||
 | 
			
		||||
        await self._message_service.send_ctx_msg(ctx, self._t.transform('modules.base.mass_move.moved').format(channel_from.mention, channel_to.mention))
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user