Added message service
This commit is contained in:
40
src/gismo_core/service/message_service.py
Normal file
40
src/gismo_core/service/message_service.py
Normal file
@@ -0,0 +1,40 @@
|
||||
import asyncio
|
||||
from typing import Union
|
||||
|
||||
import discord
|
||||
from cpl_core.configuration.configuration_abc import ConfigurationABC
|
||||
from cpl_core.logging import LoggerABC
|
||||
from cpl_query.extension import List
|
||||
from discord.ext.commands import Context
|
||||
|
||||
from gismo_core.abc.bot_service_abc import BotServiceABC
|
||||
from gismo_core.abc.message_service_abc import MessageServiceABC
|
||||
from gismo_core.configuration.server_settings import ServerSettings
|
||||
|
||||
|
||||
class MessageService(MessageServiceABC):
|
||||
|
||||
def __init__(self, config: ConfigurationABC, logger: LoggerABC, bot: BotServiceABC):
|
||||
self._config = config
|
||||
self._logger = logger
|
||||
self._bot = bot
|
||||
|
||||
async def delete_message(self, messages: List[discord.Message]):
|
||||
self._logger.debug(__name__, f'Try to delete {messages.count()} messages')
|
||||
for message in messages:
|
||||
message: discord.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')
|
||||
|
||||
async def send_channel_message(self, channel: discord.TextChannel, message: str): pass
|
||||
|
||||
async def send_dm_message(self, message: str, receiver: Union[discord.User, discord.Member]): pass
|
||||
|
||||
async def send_ctx_msg(self, ctx: Context, message: str, file: discord.File = None): pass
|
Reference in New Issue
Block a user