Added logic to delete message & send channel message

This commit is contained in:
Sven Heidemann 2021-11-16 20:07:48 +01:00
parent 26e1ed7496
commit e8e6a28d87

View File

@ -22,7 +22,10 @@ class MessageService(MessageServiceABC):
async def delete_message(self, messages: List[discord.Message]): async def delete_message(self, messages: List[discord.Message]):
self._logger.debug(__name__, f'Try to delete {messages.count()} messages') self._logger.debug(__name__, f'Try to delete {messages.count()} messages')
for message in messages: for message in messages:
message: discord.Message = message 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.g.id}')
await asyncio.sleep(server_st.message_delete_timer) await asyncio.sleep(server_st.message_delete_timer)
try: try:
@ -31,9 +34,19 @@ class MessageService(MessageServiceABC):
self._logger.trace(__name__, 'Deleted message') self._logger.trace(__name__, 'Deleted message')
except Exception as e: except Exception as e:
self._logger.warn(__name__, f'Deleting message failed') self._logger.warn(__name__, f'Deleting message failed')
self._logger.debug(__name__, 'Deleting messages finished') else:
self._logger.debug(__name__, f'Deleted message {message.content}')
self._logger.trace(__name__, 'Deleting messages finished')
async def send_channel_message(self, channel: discord.TextChannel, message: str): pass 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}')
try:
msg = await channel.send(message)
await self.delete_message(msg)
except Exception as e:
self._logger.warn(__name__, f'Send message to channel {channel.id} failed')
else:
self._logger.debug(__name__, f'Send message to channel {channel.id}')
async def send_dm_message(self, message: str, receiver: Union[discord.User, discord.Member]): pass async def send_dm_message(self, message: str, receiver: Union[discord.User, discord.Member]): pass