Added logic to count moved users to mass move #156
This commit is contained in:
parent
476db0ed33
commit
f3eff97780
@ -1 +1 @@
|
|||||||
Subproject commit c8983770f7a41f84441e6b60cdfe5eb694039f1c
|
Subproject commit 0b18f8e5963bb963779968f102579d797016ccb6
|
@ -14,6 +14,9 @@ class ClientUtilsServiceABC(ABC):
|
|||||||
@abstractmethod
|
@abstractmethod
|
||||||
def moved_user(self, guild_id: int): pass
|
def moved_user(self, guild_id: int): pass
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def moved_users(self, guild_id: int, count: int): pass
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def get_client(self, dc_ic: int, guild_id: int): pass
|
def get_client(self, dc_ic: int, guild_id: int): pass
|
||||||
|
|
||||||
|
@ -54,6 +54,13 @@ class ClientUtilsService(ClientUtilsServiceABC):
|
|||||||
self._clients.update_client(client)
|
self._clients.update_client(client)
|
||||||
self._db.save_changes()
|
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):
|
def get_client(self, dc_ic: int, guild_id: int):
|
||||||
server = self._servers.get_server_by_discord_id(guild_id)
|
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 = 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.abc.message_service_abc import MessageServiceABC
|
||||||
from bot_core.helper.command_checks import CommandChecks
|
from bot_core.helper.command_checks import CommandChecks
|
||||||
from bot_core.logging.command_logger import CommandLogger
|
from bot_core.logging.command_logger import CommandLogger
|
||||||
|
from bot_core.service.client_utils_service import ClientUtilsService
|
||||||
|
|
||||||
|
|
||||||
class MassMoveCommand(DiscordCommandABC):
|
class MassMoveCommand(DiscordCommandABC):
|
||||||
@ -20,12 +21,14 @@ class MassMoveCommand(DiscordCommandABC):
|
|||||||
message_service: MessageServiceABC,
|
message_service: MessageServiceABC,
|
||||||
bot: DiscordBotServiceABC,
|
bot: DiscordBotServiceABC,
|
||||||
translate: TranslatePipe,
|
translate: TranslatePipe,
|
||||||
|
client_utils: ClientUtilsService
|
||||||
):
|
):
|
||||||
DiscordCommandABC.__init__(self)
|
DiscordCommandABC.__init__(self)
|
||||||
self._logger = logger
|
self._logger = logger
|
||||||
self._message_service = message_service
|
self._message_service = message_service
|
||||||
self._bot = bot
|
self._bot = bot
|
||||||
self._t = translate
|
self._t = translate
|
||||||
|
self._client_utils = client_utils
|
||||||
|
|
||||||
@commands.hybrid_command(name='mass-move')
|
@commands.hybrid_command(name='mass-move')
|
||||||
@CommandChecks.check_is_ready()
|
@CommandChecks.check_is_ready()
|
||||||
@ -42,7 +45,9 @@ class MassMoveCommand(DiscordCommandABC):
|
|||||||
channel_from = ctx.author.voice.channel
|
channel_from = ctx.author.voice.channel
|
||||||
|
|
||||||
moves = [member.move_to(channel_to) for member in channel_from.members]
|
moves = [member.move_to(channel_to) for member in channel_from.members]
|
||||||
|
move_count = len(moves)
|
||||||
await asyncio.gather(*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))
|
await self._message_service.send_ctx_msg(ctx, self._t.transform('modules.base.mass_move.moved').format(channel_from.mention, channel_to.mention))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user