Compare commits
5 Commits
1.0.6
...
31ca9cd8f4
Author | SHA1 | Date | |
---|---|---|---|
31ca9cd8f4 | |||
089de53136 | |||
ebdf375283 | |||
c058312af7 | |||
2befa921ea |
@@ -25,10 +25,10 @@ class ModuleList:
|
|||||||
DataModule,
|
DataModule,
|
||||||
GraphQLModule,
|
GraphQLModule,
|
||||||
PermissionModule,
|
PermissionModule,
|
||||||
LevelModule,
|
|
||||||
DatabaseModule,
|
DatabaseModule,
|
||||||
AutoRoleModule,
|
AutoRoleModule,
|
||||||
BaseModule,
|
BaseModule,
|
||||||
|
LevelModule,
|
||||||
ApiModule,
|
ApiModule,
|
||||||
TechnicianModule,
|
TechnicianModule,
|
||||||
# has to be last!
|
# has to be last!
|
||||||
|
@@ -1,13 +1,9 @@
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from cpl_translation import TranslatePipe
|
|
||||||
from discord.ext import commands
|
from discord.ext import commands
|
||||||
from discord.ext.commands import Context
|
|
||||||
|
|
||||||
from bot_core.abc.client_utils_abc import ClientUtilsABC
|
from bot_core.abc.client_utils_abc import ClientUtilsABC
|
||||||
from bot_core.abc.message_service_abc import MessageServiceABC
|
|
||||||
from bot_core.exception.check_error import CheckError
|
from bot_core.exception.check_error import CheckError
|
||||||
from modules.permission.abc.permission_service_abc import PermissionServiceABC
|
|
||||||
|
|
||||||
|
|
||||||
class EventChecks:
|
class EventChecks:
|
||||||
@@ -23,7 +19,7 @@ class EventChecks:
|
|||||||
@classmethod
|
@classmethod
|
||||||
def check_is_ready(cls):
|
def check_is_ready(cls):
|
||||||
async def check_if_bot_is_ready() -> bool:
|
async def check_if_bot_is_ready() -> bool:
|
||||||
result = await cls._client_utils.check_if_bot_is_ready()
|
result = await cls._client_utils.check_if_bot_is_ready_yet()
|
||||||
if not result:
|
if not result:
|
||||||
raise CheckError(f"Bot is not ready")
|
raise CheckError(f"Bot is not ready")
|
||||||
return result
|
return result
|
||||||
|
@@ -0,0 +1,34 @@
|
|||||||
|
from cpl_core.logging import LoggerABC
|
||||||
|
from cpl_discord.events.on_raw_reaction_add_abc import OnRawReactionAddABC
|
||||||
|
from cpl_discord.service import DiscordBotServiceABC
|
||||||
|
from discord import RawReactionActionEvent
|
||||||
|
|
||||||
|
from bot_core.helper.event_checks import EventChecks
|
||||||
|
from modules.level.service.level_service import LevelService
|
||||||
|
|
||||||
|
|
||||||
|
class LevelOnRawReactionAddEvent(OnRawReactionAddABC):
|
||||||
|
def __init__(
|
||||||
|
self,
|
||||||
|
logger: LoggerABC,
|
||||||
|
bot: DiscordBotServiceABC,
|
||||||
|
level: LevelService,
|
||||||
|
):
|
||||||
|
OnRawReactionAddABC.__init__(self)
|
||||||
|
|
||||||
|
self._logger = logger
|
||||||
|
self._bot = bot
|
||||||
|
self._level = level
|
||||||
|
|
||||||
|
@EventChecks.check_is_ready()
|
||||||
|
async def on_raw_reaction_add(self, payload: RawReactionActionEvent):
|
||||||
|
self._logger.debug(__name__, f"Module {type(self)} started")
|
||||||
|
try:
|
||||||
|
self._logger.trace(__name__, f"Handle reaction {payload} for level")
|
||||||
|
|
||||||
|
guild = self._bot.get_guild(payload.guild_id)
|
||||||
|
member = guild.get_member(payload.user_id)
|
||||||
|
|
||||||
|
await self._level.check_level(member)
|
||||||
|
except Exception as e:
|
||||||
|
self._logger.error(__name__, f"Level check by message failed", e)
|
@@ -0,0 +1,34 @@
|
|||||||
|
from cpl_core.logging import LoggerABC
|
||||||
|
from cpl_discord.events.on_raw_reaction_remove_abc import OnRawReactionRemoveABC
|
||||||
|
from cpl_discord.service import DiscordBotServiceABC
|
||||||
|
from discord import RawReactionActionEvent
|
||||||
|
|
||||||
|
from bot_core.helper.event_checks import EventChecks
|
||||||
|
from modules.level.service.level_service import LevelService
|
||||||
|
|
||||||
|
|
||||||
|
class LevelOnRawReactionRemoveEvent(OnRawReactionRemoveABC):
|
||||||
|
def __init__(
|
||||||
|
self,
|
||||||
|
logger: LoggerABC,
|
||||||
|
bot: DiscordBotServiceABC,
|
||||||
|
level: LevelService,
|
||||||
|
):
|
||||||
|
OnRawReactionRemoveABC.__init__(self)
|
||||||
|
|
||||||
|
self._logger = logger
|
||||||
|
self._bot = bot
|
||||||
|
self._level = level
|
||||||
|
|
||||||
|
@EventChecks.check_is_ready()
|
||||||
|
async def on_raw_reaction_remove(self, payload: RawReactionActionEvent):
|
||||||
|
self._logger.debug(__name__, f"Module {type(self)} started")
|
||||||
|
try:
|
||||||
|
self._logger.trace(__name__, f"Handle reaction {payload} for level")
|
||||||
|
|
||||||
|
guild = self._bot.get_guild(payload.guild_id)
|
||||||
|
member = guild.get_member(payload.user_id)
|
||||||
|
|
||||||
|
await self._level.check_level(member)
|
||||||
|
except Exception as e:
|
||||||
|
self._logger.error(__name__, f"Level check by message failed", e)
|
@@ -12,6 +12,8 @@ from bot_data.abc.data_seeder_abc import DataSeederABC
|
|||||||
from modules.level.command.level_group import LevelGroup
|
from modules.level.command.level_group import LevelGroup
|
||||||
from modules.level.events.level_on_member_join_event import LevelOnMemberJoinEvent
|
from modules.level.events.level_on_member_join_event import LevelOnMemberJoinEvent
|
||||||
from modules.level.events.level_on_message_event import LevelOnMessageEvent
|
from modules.level.events.level_on_message_event import LevelOnMessageEvent
|
||||||
|
from modules.level.events.level_on_raw_reaction_add_event import LevelOnRawReactionAddEvent
|
||||||
|
from modules.level.events.level_on_raw_reaction_remove_event import LevelOnRawReactionRemoveEvent
|
||||||
from modules.level.events.level_on_voice_state_update_event import (
|
from modules.level.events.level_on_voice_state_update_event import (
|
||||||
LevelOnVoiceStateUpdateEvent,
|
LevelOnVoiceStateUpdateEvent,
|
||||||
)
|
)
|
||||||
@@ -43,3 +45,5 @@ class LevelModule(ModuleABC):
|
|||||||
LevelOnVoiceStateUpdateEvent,
|
LevelOnVoiceStateUpdateEvent,
|
||||||
)
|
)
|
||||||
self._dc.add_event(DiscordEventTypesEnum.on_member_join.value, LevelOnMemberJoinEvent)
|
self._dc.add_event(DiscordEventTypesEnum.on_member_join.value, LevelOnMemberJoinEvent)
|
||||||
|
self._dc.add_event(DiscordEventTypesEnum.on_raw_reaction_add.value, LevelOnRawReactionAddEvent)
|
||||||
|
self._dc.add_event(DiscordEventTypesEnum.on_raw_reaction_remove.value, LevelOnRawReactionRemoveEvent)
|
||||||
|
Reference in New Issue
Block a user