Reviewed-on: sh-edraft.de/kd_discord_bot#157 Reviewed-by: Ebola-Chan <nick.jungmann@gmail.com> Closes #156
This commit is contained in:
Submodule kdb-bot/src/bot/config updated: c8983770f7...0b18f8e596
@@ -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))
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user