Added logic to delete message & send channel message
This commit is contained in:
parent
26e1ed7496
commit
e8e6a28d87
@ -22,18 +22,31 @@ 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)
|
||||||
server_st: ServerSettings = self._config.get_configuration(f'DSERVER_{message.g.id}')
|
|
||||||
await asyncio.sleep(server_st.message_delete_timer)
|
|
||||||
try:
|
|
||||||
self._logger.trace(__name__, f'Try to delete message: {message.content}')
|
|
||||||
await message.delete()
|
|
||||||
self._logger.trace(__name__, 'Deleted message')
|
|
||||||
except Exception as e:
|
|
||||||
self._logger.warn(__name__, f'Deleting message failed')
|
|
||||||
self._logger.debug(__name__, 'Deleting messages finished')
|
self._logger.debug(__name__, 'Deleting messages finished')
|
||||||
|
|
||||||
async def send_channel_message(self, channel: discord.TextChannel, message: str): pass
|
async def delete_message(self, message: discord.Message):
|
||||||
|
server_st: ServerSettings = self._config.get_configuration(f'DSERVER_{message.g.id}')
|
||||||
|
await asyncio.sleep(server_st.message_delete_timer)
|
||||||
|
try:
|
||||||
|
self._logger.trace(__name__, f'Try to delete message: {message.content}')
|
||||||
|
await message.delete()
|
||||||
|
self._logger.trace(__name__, 'Deleted message')
|
||||||
|
except Exception as e:
|
||||||
|
self._logger.warn(__name__, f'Deleting message failed')
|
||||||
|
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):
|
||||||
|
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
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user