forked from sh-edraft.de/sh_discord_bot
Added ontime to user info #97
This commit is contained in:
parent
f551fdf87b
commit
356dc1848c
@ -162,6 +162,7 @@
|
|||||||
"discord_join": "Discord beigetreten am",
|
"discord_join": "Discord beigetreten am",
|
||||||
"last_join": "Server beigetreten am",
|
"last_join": "Server beigetreten am",
|
||||||
"xp": "XP",
|
"xp": "XP",
|
||||||
|
"ontime": "Ontime",
|
||||||
"roles": "Rollen",
|
"roles": "Rollen",
|
||||||
"joins": "Beitritte",
|
"joins": "Beitritte",
|
||||||
"lefts": "Abgänge",
|
"lefts": "Abgänge",
|
||||||
|
@ -16,7 +16,7 @@ class UserJoinedVoiceChannelRepositoryABC(ABC):
|
|||||||
def get_user_joined_voice_channel_by_id(self, id: int) -> UserJoinedVoiceChannel: pass
|
def get_user_joined_voice_channel_by_id(self, id: int) -> UserJoinedVoiceChannel: pass
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def get_user_joined_voice_channels_by_user_id(self, user_id: int) -> list[UserJoinedVoiceChannel]: pass
|
def get_user_joined_voice_channels_by_user_id(self, user_id: int) -> List[UserJoinedVoiceChannel]: pass
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def get_active_user_joined_voice_channel_by_user_id(self, user_id: int) -> UserJoinedVoiceChannel: pass
|
def get_active_user_joined_voice_channel_by_user_id(self, user_id: int) -> UserJoinedVoiceChannel: pass
|
||||||
|
@ -14,6 +14,7 @@ from bot_core.logging.command_logger import CommandLogger
|
|||||||
from bot_core.pipes.date_time_offset_pipe import DateTimeOffsetPipe
|
from bot_core.pipes.date_time_offset_pipe import DateTimeOffsetPipe
|
||||||
from bot_data.abc.server_repository_abc import ServerRepositoryABC
|
from bot_data.abc.server_repository_abc import ServerRepositoryABC
|
||||||
from bot_data.abc.user_joined_server_repository_abc import UserJoinedServerRepositoryABC
|
from bot_data.abc.user_joined_server_repository_abc import UserJoinedServerRepositoryABC
|
||||||
|
from bot_data.abc.user_joined_voice_channel_abc import UserJoinedVoiceChannelRepositoryABC
|
||||||
from bot_data.abc.user_repository_abc import UserRepositoryABC
|
from bot_data.abc.user_repository_abc import UserRepositoryABC
|
||||||
from modules.permission.abc.permission_service_abc import PermissionServiceABC
|
from modules.permission.abc.permission_service_abc import PermissionServiceABC
|
||||||
|
|
||||||
@ -31,6 +32,7 @@ class UserGroup(DiscordCommandABC):
|
|||||||
servers: ServerRepositoryABC,
|
servers: ServerRepositoryABC,
|
||||||
users: UserRepositoryABC,
|
users: UserRepositoryABC,
|
||||||
user_joined_servers: UserJoinedServerRepositoryABC,
|
user_joined_servers: UserJoinedServerRepositoryABC,
|
||||||
|
user_joined_voice_channel: UserJoinedVoiceChannelRepositoryABC,
|
||||||
translate: TranslatePipe,
|
translate: TranslatePipe,
|
||||||
date: DateTimeOffsetPipe
|
date: DateTimeOffsetPipe
|
||||||
):
|
):
|
||||||
@ -45,6 +47,7 @@ class UserGroup(DiscordCommandABC):
|
|||||||
self._servers = servers
|
self._servers = servers
|
||||||
self._users = users
|
self._users = users
|
||||||
self._user_joined_servers = user_joined_servers
|
self._user_joined_servers = user_joined_servers
|
||||||
|
self._user_joined_voice_channel = user_joined_voice_channel
|
||||||
self._t = translate
|
self._t = translate
|
||||||
self._date = date
|
self._date = date
|
||||||
|
|
||||||
@ -81,11 +84,15 @@ class UserGroup(DiscordCommandABC):
|
|||||||
color=int('ef9d0d', 16)
|
color=int('ef9d0d', 16)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
ujvs = self._user_joined_voice_channel.get_user_joined_voice_channels_by_user_id(user.user_id)
|
||||||
|
ontime = ujvs.sum(lambda join: round((join.leaved_on - join.joined_on).total_seconds() / 3600, 2))
|
||||||
|
|
||||||
embed.add_field(name=self._t.transform('modules.base.user_info.fields.id'), value=member.id)
|
embed.add_field(name=self._t.transform('modules.base.user_info.fields.id'), value=member.id)
|
||||||
embed.add_field(name=self._t.transform('modules.base.user_info.fields.name'), value=member.name)
|
embed.add_field(name=self._t.transform('modules.base.user_info.fields.name'), value=member.name)
|
||||||
embed.add_field(name=self._t.transform('modules.base.user_info.fields.discord_join'), value=self._date.transform(member.created_at), inline=False)
|
embed.add_field(name=self._t.transform('modules.base.user_info.fields.discord_join'), value=self._date.transform(member.created_at), inline=False)
|
||||||
embed.add_field(name=self._t.transform('modules.base.user_info.fields.last_join'), value=self._date.transform(member.joined_at), inline=False)
|
embed.add_field(name=self._t.transform('modules.base.user_info.fields.last_join'), value=self._date.transform(member.joined_at), inline=False)
|
||||||
embed.add_field(name=self._t.transform('modules.base.user_info.fields.xp'), value=str(user.xp))
|
embed.add_field(name=self._t.transform('modules.base.user_info.fields.xp'), value=str(user.xp))
|
||||||
|
embed.add_field(name=self._t.transform('modules.base.user_info.fields.ontime'), value=str(ontime))
|
||||||
|
|
||||||
roles = ''
|
roles = ''
|
||||||
for role in member.roles:
|
for role in member.roles:
|
||||||
|
Loading…
Reference in New Issue
Block a user