Improved message service & added logic to send login message
This commit is contained in:
@@ -11,6 +11,8 @@ class ServerSettings(ConfigurationModelABC):
|
||||
|
||||
self._id: int = 0
|
||||
self._message_delete_timer: int = 0
|
||||
self._login_message_channel_id: int = 0
|
||||
self._login_message: str = ''
|
||||
|
||||
@property
|
||||
def id(self) -> str:
|
||||
@@ -19,11 +21,21 @@ class ServerSettings(ConfigurationModelABC):
|
||||
@property
|
||||
def message_delete_timer(self) -> int:
|
||||
return self._message_delete_timer
|
||||
|
||||
@property
|
||||
def login_message_channel_id(self) -> int:
|
||||
return self._login_message_channel_id
|
||||
|
||||
@property
|
||||
def login_message(self) -> str:
|
||||
return self._login_message
|
||||
|
||||
def from_dict(self, settings: dict):
|
||||
try:
|
||||
self._id = int(settings['Id'])
|
||||
self._message_delete_timer = int(settings['MessageDeleteTimer'])
|
||||
self._login_message_channel_id = int(settings['LoginMessageChannelId'])
|
||||
self._login_message = settings['LoginMessage']
|
||||
except Exception as e:
|
||||
Console.error(f'[ ERROR ] [ {__name__} ]: Reading error in settings')
|
||||
Console.error(f'[ EXCEPTION ] [ {__name__} ]: {e} -> {traceback.format_exc()}')
|
||||
|
@@ -19,14 +19,14 @@ class MessageService(MessageServiceABC):
|
||||
self._logger = logger
|
||||
self._bot = bot
|
||||
|
||||
async def delete_message(self, messages: List[discord.Message]):
|
||||
async def delete_messages(self, messages: List[discord.Message]):
|
||||
self._logger.debug(__name__, f'Try to delete {messages.count()} messages')
|
||||
for message in messages:
|
||||
await self.delete_message(message)
|
||||
self._logger.debug(__name__, 'Deleting messages finished')
|
||||
|
||||
async def delete_message(self, message: discord.Message):
|
||||
server_st: ServerSettings = self._config.get_configuration(f'DSERVER_{message.g.id}')
|
||||
server_st: ServerSettings = self._config.get_configuration(f'DSERVER_{message.guild.id}')
|
||||
await asyncio.sleep(server_st.message_delete_timer)
|
||||
self._logger.debug(__name__, f'Try to delete message: {message.content}')
|
||||
try:
|
||||
@@ -34,7 +34,7 @@ class MessageService(MessageServiceABC):
|
||||
except Exception as e:
|
||||
self._logger.error(__name__, f'Deleting message failed', e)
|
||||
else:
|
||||
self._logger.debug(__name__, f'Deleted message {message.content}')
|
||||
self._logger.info(__name__, f'Deleted message {message.content}')
|
||||
|
||||
async def send_channel_message(self, channel: discord.TextChannel, message: str):
|
||||
self._logger.debug(__name__, f'Try to send message {message} to channel {channel.id}')
|
||||
@@ -43,7 +43,7 @@ class MessageService(MessageServiceABC):
|
||||
except Exception as e:
|
||||
self._logger.error(__name__, f'Send message to channel {channel.id} failed', e)
|
||||
else:
|
||||
self._logger.debug(__name__, f'Send message to channel {channel.id}')
|
||||
self._logger.info(__name__, f'Sent message to channel {channel.id}')
|
||||
|
||||
async def send_dm_message(self, message: str, receiver: Union[discord.User, discord.Member]):
|
||||
self._logger.debug(__name__, f'Try to send message {message} to user {receiver.id}')
|
||||
@@ -52,7 +52,7 @@ class MessageService(MessageServiceABC):
|
||||
except Exception as e:
|
||||
self._logger.error(__name__, f'Send message to user {receiver.id} failed', e)
|
||||
else:
|
||||
self._logger.debug(__name__, f'Send message to user {receiver.id}')
|
||||
self._logger.info(__name__, f'Sent message to user {receiver.id}')
|
||||
|
||||
async def send_ctx_msg(self, ctx: Context, message: Union[str, discord.File]):
|
||||
if ctx is None:
|
||||
@@ -69,4 +69,4 @@ class MessageService(MessageServiceABC):
|
||||
except Exception as e:
|
||||
self._logger.error(__name__, f'Send message to channel {ctx.channel.id} failed', e)
|
||||
else:
|
||||
self._logger.debug(__name__, f'Send message to channel {ctx.channel.id}')
|
||||
self._logger.info(__name__, f'Sent message to channel {ctx.channel.id}')
|
||||
|
Reference in New Issue
Block a user