mirror of
https://github.com/iio612/DEFENDER.git
synced 2026-02-13 11:14:23 +00:00
fix some issues linked to asyncio again.
This commit is contained in:
@@ -46,7 +46,7 @@ class IModule(ABC):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def create_tables(self) -> None:
|
async def create_tables(self) -> None:
|
||||||
"""Method that will create the database if it does not exist.
|
"""Method that will create the database if it does not exist.
|
||||||
A single Session for this class will be created, which will be used within this class/module.
|
A single Session for this class will be created, which will be used within this class/module.
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ class Command(IModule):
|
|||||||
def mod_config(self) -> ModConfModel:
|
def mod_config(self) -> ModConfModel:
|
||||||
return self._mod_config
|
return self._mod_config
|
||||||
|
|
||||||
def create_tables(self) -> None:
|
async def create_tables(self) -> None:
|
||||||
"""Methode qui va créer la base de donnée si elle n'existe pas.
|
"""Methode qui va créer la base de donnée si elle n'existe pas.
|
||||||
Une Session unique pour cette classe sera crée, qui sera utilisé dans cette classe / module
|
Une Session unique pour cette classe sera crée, qui sera utilisé dans cette classe / module
|
||||||
Args:
|
Args:
|
||||||
@@ -51,10 +51,14 @@ class Command(IModule):
|
|||||||
)
|
)
|
||||||
'''
|
'''
|
||||||
|
|
||||||
self.ctx.Base.db_execute_query(table_automode)
|
await self.ctx.Base.db_execute_query(table_automode)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def load(self) -> None:
|
async def load(self) -> None:
|
||||||
|
|
||||||
|
# Create the database
|
||||||
|
await self.create_tables()
|
||||||
|
|
||||||
# Module Utils
|
# Module Utils
|
||||||
self.mod_utils = utils
|
self.mod_utils = utils
|
||||||
self.user_to_notice: str = ''
|
self.user_to_notice: str = ''
|
||||||
|
|||||||
@@ -26,11 +26,15 @@ class Test(IModule):
|
|||||||
}
|
}
|
||||||
"""Module Header (Mandatory)"""
|
"""Module Header (Mandatory)"""
|
||||||
|
|
||||||
|
@property
|
||||||
|
def mod_config(self) -> ModConfModel:
|
||||||
|
return self._mod_config
|
||||||
|
|
||||||
def __init__(self, uplink: 'Loader'):
|
def __init__(self, uplink: 'Loader'):
|
||||||
super().__init__(uplink)
|
super().__init__(uplink)
|
||||||
self._mod_config: Optional[Test.ModConfModel] = None
|
self._mod_config: Optional[Test.ModConfModel] = None
|
||||||
|
|
||||||
def create_tables(self) -> None:
|
async def create_tables(self) -> None:
|
||||||
"""Methode qui va créer la base de donnée si elle n'existe pas.
|
"""Methode qui va créer la base de donnée si elle n'existe pas.
|
||||||
Une Session unique pour cette classe sera crée, qui sera utilisé dans cette classe / module
|
Une Session unique pour cette classe sera crée, qui sera utilisé dans cette classe / module
|
||||||
|
|
||||||
@@ -45,12 +49,14 @@ class Test(IModule):
|
|||||||
)
|
)
|
||||||
'''
|
'''
|
||||||
|
|
||||||
# self.ctx.Base.db_execute_query(table_logs)
|
# await self.ctx.Base.db_execute_query(table_logs)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
async def load(self) -> None:
|
async def load(self) -> None:
|
||||||
"""### Load Module Configuration (Mandatory)
|
"""### Load Module Configuration (Mandatory)
|
||||||
"""
|
"""
|
||||||
|
# Create tables if any (Mandatory)
|
||||||
|
await self.create_tables()
|
||||||
|
|
||||||
# Create module commands (Mandatory)
|
# Create module commands (Mandatory)
|
||||||
self.ctx.Commands.build_command(0, self.module_name, 'test-command', 'Execute a test command')
|
self.ctx.Commands.build_command(0, self.module_name, 'test-command', 'Execute a test command')
|
||||||
@@ -68,15 +74,16 @@ class Test(IModule):
|
|||||||
if self.mod_config.param_exemple2 == 1:
|
if self.mod_config.param_exemple2 == 1:
|
||||||
await self.ctx.Irc.Protocol.send_priv_msg(self.ctx.Config.SERVICE_NICKNAME, "Param activated", self.ctx.Config.SERVICE_CHANLOG)
|
await self.ctx.Irc.Protocol.send_priv_msg(self.ctx.Config.SERVICE_NICKNAME, "Param activated", self.ctx.Config.SERVICE_CHANLOG)
|
||||||
|
|
||||||
@property
|
|
||||||
def mod_config(self) -> ModConfModel:
|
|
||||||
return self._mod_config
|
|
||||||
|
|
||||||
def unload(self) -> None:
|
def unload(self) -> None:
|
||||||
"""### This method is called when you unload, or you reload the module (Mandatory)"""
|
"""### This method is called when you unload, or you reload the module (Mandatory)"""
|
||||||
self.ctx.Commands.drop_command_by_module(self.module_name)
|
self.ctx.Commands.drop_command_by_module(self.module_name)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
async def asyncio_func(self) -> None:
|
||||||
|
self.ctx.Logs.debug(f"Starting async method in a task: {self.__class__.__name__}")
|
||||||
|
await asyncio.sleep(2)
|
||||||
|
self.ctx.Logs.debug(f"End of the task: {self.__class__.__name__}")
|
||||||
|
|
||||||
def cmd(self, data: list[str]) -> None:
|
def cmd(self, data: list[str]) -> None:
|
||||||
"""All messages coming from the IRCD server will be handled using this method (Mandatory)
|
"""All messages coming from the IRCD server will be handled using this method (Mandatory)
|
||||||
|
|
||||||
@@ -89,11 +96,6 @@ class Test(IModule):
|
|||||||
except Exception as err:
|
except Exception as err:
|
||||||
self.ctx.Logs.error(f"General Error: {err}")
|
self.ctx.Logs.error(f"General Error: {err}")
|
||||||
|
|
||||||
async def asyncio_func(self) -> None:
|
|
||||||
self.ctx.Logs.debug(f"Starting async method in a task: {self.__class__.__name__}")
|
|
||||||
await asyncio.sleep(2)
|
|
||||||
self.ctx.Logs.debug(f"End of the task: {self.__class__.__name__}")
|
|
||||||
|
|
||||||
async def hcmds(self, user: str, channel: Any, cmd: list, fullcmd: Optional[list] = None) -> None:
|
async def hcmds(self, user: str, channel: Any, cmd: list, fullcmd: Optional[list] = None) -> None:
|
||||||
"""All messages coming from the user commands (Mandatory)
|
"""All messages coming from the user commands (Mandatory)
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ class Votekick(IModule):
|
|||||||
def mod_config(self) -> ModConfModel:
|
def mod_config(self) -> ModConfModel:
|
||||||
return self._mod_config
|
return self._mod_config
|
||||||
|
|
||||||
def create_tables(self) -> None:
|
async def create_tables(self) -> None:
|
||||||
"""Methode qui va créer la base de donnée si elle n'existe pas.
|
"""Methode qui va créer la base de donnée si elle n'existe pas.
|
||||||
Une Session unique pour cette classe sera crée, qui sera utilisé dans cette classe / module
|
Une Session unique pour cette classe sera crée, qui sera utilisé dans cette classe / module
|
||||||
|
|
||||||
@@ -65,15 +65,18 @@ class Votekick(IModule):
|
|||||||
)
|
)
|
||||||
'''
|
'''
|
||||||
|
|
||||||
self.ctx.Base.db_execute_query(table_logs)
|
await self.ctx.Base.db_execute_query(table_logs)
|
||||||
self.ctx.Base.db_execute_query(table_vote)
|
await self.ctx.Base.db_execute_query(table_vote)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
async def load(self) -> None:
|
async def load(self) -> None:
|
||||||
|
|
||||||
|
# Create tables.
|
||||||
|
await self.create_tables()
|
||||||
|
|
||||||
self._mod_config = self.ModConfModel()
|
self._mod_config = self.ModConfModel()
|
||||||
await self.sync_db()
|
await self.sync_db()
|
||||||
|
|
||||||
# Add VoteKick Manager
|
# Add VoteKick Manager
|
||||||
self.VoteKickManager = VotekickManager(self)
|
self.VoteKickManager = VotekickManager(self)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user