Compare commits

..

No commits in common. "7c7786d2d1fef5f6c48c658d568ade5ff7754a66" and "1f07a031860f6d99bed08b1245964b605699e3f1" have entirely different histories.

7 changed files with 31 additions and 49 deletions

View File

@ -151,7 +151,6 @@
} }
}, },
"base": { "base": {
"member_left_message": "{} hat uns leider verlassen :(",
"complaints": { "complaints": {
"title": "Beschwerde einreichen", "title": "Beschwerde einreichen",
"label": "Beschwerde", "label": "Beschwerde",

View File

@ -87,7 +87,7 @@ class BaseOnMemberJoinEvent(OnMemberJoinABC):
return return
self._logger.debug(__name__, f"Add user: {member.id}") self._logger.debug(__name__, f"Add user: {member.id}")
self._users.add_user(User(member.id, 0, 0, 0, server)) self._users.add_user(User(member.id, 0, server))
self._db.save_changes() self._db.save_changes()
user = self._users.get_user_by_discord_id_and_server_id(member.id, server.id) user = self._users.get_user_by_discord_id_and_server_id(member.id, server.id)
self._user_joins.add_user_joined_server(UserJoinedServer(user, datetime.now())) self._user_joins.add_user_joined_server(UserJoinedServer(user, datetime.now()))

View File

@ -2,7 +2,6 @@ from datetime import datetime
from typing import Union from typing import Union
import discord import discord
from cpl_core.configuration import ConfigurationABC
from cpl_core.database.context import DatabaseContextABC from cpl_core.database.context import DatabaseContextABC
from cpl_core.logging import LoggerABC from cpl_core.logging import LoggerABC
from cpl_discord.events import OnMemberRemoveABC from cpl_discord.events import OnMemberRemoveABC
@ -13,16 +12,14 @@ from bot_core.helper.event_checks import EventChecks
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_repository_abc import UserRepositoryABC from bot_data.abc.user_repository_abc import UserRepositoryABC
from bot_data.model.server_config import ServerConfig
class BaseOnMemberRemoveEvent(OnMemberRemoveABC): class BaseOnMemberRemoveEvent(OnMemberRemoveABC):
def __init__( def __init__(
self, self,
config: ConfigurationABC,
logger: LoggerABC, logger: LoggerABC,
db: DatabaseContextABC, db: DatabaseContextABC,
message_service: MessageServiceABC, messenger: MessageServiceABC,
users: UserRepositoryABC, users: UserRepositoryABC,
servers: ServerRepositoryABC, servers: ServerRepositoryABC,
user_joins: UserJoinedServerRepositoryABC, user_joins: UserJoinedServerRepositoryABC,
@ -30,10 +27,10 @@ class BaseOnMemberRemoveEvent(OnMemberRemoveABC):
): ):
OnMemberRemoveABC.__init__(self) OnMemberRemoveABC.__init__(self)
self._config = config
self._logger = logger self._logger = logger
self._base_helper = base_helper
self._db = db self._db = db
self._message_service = message_service self._messenger = messenger
self._users = users self._users = users
self._servers = servers self._servers = servers
self._user_joins = user_joins self._user_joins = user_joins
@ -41,7 +38,8 @@ class BaseOnMemberRemoveEvent(OnMemberRemoveABC):
async def _remove_user(self, member: Union[discord.User, discord.Member]): async def _remove_user(self, member: Union[discord.User, discord.Member]):
self._logger.debug(__name__, f"Remove user {member}") self._logger.debug(__name__, f"Remove user {member}")
await self._message_service.send_dm_message(self._t.transform("modules.base.goodbye_message"), member) settings: ServerConfig = self._config.get_configuration(f"ServerConfig_{member.guild.id}")
await self._messenger.send_dm_message(self._t.transform("modules.base.goodbye_message"), member)
try: try:
server = self._servers.get_server_by_discord_id(member.guild.id) server = self._servers.get_server_by_discord_id(member.guild.id)
@ -58,19 +56,7 @@ class BaseOnMemberRemoveEvent(OnMemberRemoveABC):
except Exception as e: except Exception as e:
self._logger.error(__name__, f"Cannot remove user {member.id}", e) self._logger.error(__name__, f"Cannot remove user {member.id}", e)
async def _notify_team(self, member: discord.Member):
self._logger.debug(__name__, f"Notify team that a member left")
settings: ServerConfig = self._config.get_configuration(f"ServerConfig_{member.guild.id}")
channel = member.guild.get_channel(settings.team_channel_id)
await self._message_service.send_channel_message(
channel,
self._t.transform("modules.base.member_left_message").format(member.mention),
is_persistent=True,
)
self._logger.trace(__name__, f"Notified team that a member left")
@EventChecks.check_is_ready() @EventChecks.check_is_ready()
async def on_member_remove(self, member: discord.Member): async def on_member_remove(self, member: discord.Member):
self._logger.debug(__name__, f"Module {type(self)} started") self._logger.debug(__name__, f"Module {type(self)} started")
await self._remove_user(member) await self._remove_user(member)
await self._notify_team(member)

View File

@ -1,7 +1,6 @@
from typing import Optional from typing import Optional
import discord import discord
from cpl_core.configuration import ConfigurationABC
from cpl_core.database.context import DatabaseContextABC from cpl_core.database.context import DatabaseContextABC
from cpl_discord.events import OnMessageABC from cpl_discord.events import OnMessageABC
from cpl_discord.service import DiscordBotServiceABC from cpl_discord.service import DiscordBotServiceABC
@ -20,7 +19,6 @@ from bot_data.model.user import User
class BaseOnMessageEvent(OnMessageABC): class BaseOnMessageEvent(OnMessageABC):
def __init__( def __init__(
self, self,
config: ConfigurationABC,
logger: MessageLogger, logger: MessageLogger,
client_utils: ClientUtilsService, client_utils: ClientUtilsService,
db: DatabaseContextABC, db: DatabaseContextABC,
@ -30,7 +28,6 @@ class BaseOnMessageEvent(OnMessageABC):
servers: ServerRepositoryABC, servers: ServerRepositoryABC,
): ):
OnMessageABC.__init__(self) OnMessageABC.__init__(self)
self._config = config
self._logger = logger self._logger = logger
self._client_utils = client_utils self._client_utils = client_utils
self._bot = bot self._bot = bot
@ -66,7 +63,7 @@ class BaseOnMessageEvent(OnMessageABC):
self._logger.error(__name__, f"User not found {dc_user_id}") self._logger.error(__name__, f"User not found {dc_user_id}")
return return
settings: ServerConfig = self._config.get_configuration(f"ServerConfig_{server.discord_id}") settings: ServerConfig = se
if self._client_utils.is_message_xp_count_by_hour_higher_that_max_message_count_per_hour( if self._client_utils.is_message_xp_count_by_hour_higher_that_max_message_count_per_hour(
message.created_at, user, settings message.created_at, user, settings
): ):

View File

@ -51,4 +51,4 @@
"tslib": "^2.4.1", "tslib": "^2.4.1",
"typescript": "~4.9.5" "typescript": "~4.9.5"
} }
} }

View File

@ -365,31 +365,31 @@ export class Queries {
static serverConfigQuery = ` static serverConfigQuery = `
query serverConfigQuery($serverId: ID) { query serverConfigQuery($serverId: ID) {
servers(filter: { id: $serverId }) { servers(filter: { id: $serverId }) {
name name
config { config {
id id
messageDeleteTimer messageDeleteTimer
notificationChatId notificationChatId
maxVoiceStateHours maxVoiceStateHours
xpPerMessage xpPerMessage
xpPerReaction xpPerReaction
maxMessageXpPerHour maxMessageXpPerHour
xpPerOntimeHour xpPerOntimeHour
xpPerEventParticipation xpPerEventParticipation
xpPerAchievement xpPerAchievement
afkCommandChannelId afkCommandChannelId
helpVoiceChannelId helpVoiceChannelId
teamChannelId teamChannelId
loginMessageChannelId loginMessageChannelId
afkChannelIds afkChannelIds
moderatorRoleIds moderatorRoleIds
adminRoleIds adminRoleIds
server { server {
id id
}
} }
} }
} }
}
`; `;
} }

View File

@ -25,4 +25,4 @@
"Name": "sh-edraft-dark-theme" "Name": "sh-edraft-dark-theme"
} }
] ]
} }