Added logic to append received messages

This commit is contained in:
2021-12-08 07:36:54 +01:00
parent f03ee54703
commit e34fbb60aa
6 changed files with 75 additions and 10 deletions

View File

@@ -1,17 +1,33 @@
import discord
from cpl_core.database.context import DatabaseContextABC
from cpl_core.logging.logger_abc import LoggerABC
from gismo_core.abc.bot_service_abc import BotServiceABC
from gismo_data.abc.client_repository_abc import ClientRepositoryABC
from gismo_data.abc.server_repository_abc import ServerRepositoryABC
from modules_core.abc.events.on_member_join_abc import OnMemberJoinABC
from modules_core.abc.events.on_message_abc import OnMessageABC
from modules_core.abc.events.on_voice_state_update_abc import OnVoiceStateUpdateABC
from modules_core.abc.events.on_voice_state_update_abc import \
OnVoiceStateUpdateABC
from modules_core.abc.module_abc import ModuleABC
class Base(ModuleABC, OnMemberJoinABC, OnMessageABC, OnVoiceStateUpdateABC):
def __init__(self, logger: LoggerABC):
def __init__(
self,
logger: LoggerABC,
clients: ClientRepositoryABC,
servers: ServerRepositoryABC,
bot: BotServiceABC,
db: DatabaseContextABC
):
self._logger = logger
self._clients = clients
self._servers = servers
self._bot = bot
self._db = db
ModuleABC.__init__(self)
self._priorities[OnMemberJoinABC] = 1
@@ -19,10 +35,18 @@ class Base(ModuleABC, OnMemberJoinABC, OnMessageABC, OnVoiceStateUpdateABC):
self._priorities[OnVoiceStateUpdateABC] = 10
self._logger.trace(__name__, f'Module {type(self)} loaded')
def _apppend_received_message_count(self, g_id: int):
try:
self._clients.apppend_received_message_count(self._bot.user.id, g_id, 1)
self._db.save_changes()
except Exception as e:
self._logger.error(__name__, f'Cannot edit client {self._bot.user.id}@{g_id}')
async def on_member_join(self, member: discord.Member):
self._logger.debug(__name__, f'Module {type(self)} started')
async def on_message(self, message: discord.Message):
self._apppend_received_message_count(message.guild.id)
self._logger.debug(__name__, f'Module {type(self)} started')
async def on_voice_state_update(self, member: discord.Member, before: discord.VoiceState, after: discord.VoiceState):