mirror of
https://github.com/iio612/DEFENDER.git
synced 2026-02-13 11:14:23 +00:00
Moving some methods to utils.py, creating new logs class
This commit is contained in:
80
core/irc.py
80
core/irc.py
@@ -54,7 +54,7 @@ class Irc:
|
||||
self.Base = self.Loader.Base
|
||||
|
||||
# Logger
|
||||
self.Logs = self.Loader.Base.logs
|
||||
self.Logs = self.Loader.Logs
|
||||
|
||||
# Get Settings.
|
||||
self.Settings = self.Base.Settings
|
||||
@@ -216,7 +216,7 @@ class Irc:
|
||||
protocol=self.Config.SERVEUR_PROTOCOL,
|
||||
ircInstance=self.ircObject
|
||||
).Protocol
|
||||
self.Protocol.link() # Etablir le link en fonction du protocol choisi
|
||||
self.Protocol.send_link() # Etablir le link en fonction du protocol choisi
|
||||
self.signal = True # Une variable pour initier la boucle infinie
|
||||
self.__join_saved_channels() # Join existing channels
|
||||
self.load_existing_modules() # Charger les modules existant dans la base de données
|
||||
@@ -240,7 +240,7 @@ class Irc:
|
||||
|
||||
self.init_service_user()
|
||||
self.__create_socket()
|
||||
self.Protocol.link()
|
||||
self.Protocol.send_link()
|
||||
self.__join_saved_channels()
|
||||
self.load_existing_modules()
|
||||
self.Config.DEFENDER_RESTART = 0
|
||||
@@ -302,7 +302,7 @@ class Irc:
|
||||
if result_query:
|
||||
for chan_name in result_query:
|
||||
chan = chan_name[0]
|
||||
self.Protocol.sjoin(channel=chan)
|
||||
self.Protocol.send_sjoin(channel=chan)
|
||||
|
||||
def send_response(self, responses:list[bytes]) -> None:
|
||||
try:
|
||||
@@ -359,13 +359,10 @@ class Irc:
|
||||
p = self.Protocol
|
||||
admin_obj = self.Admin.get_admin(nickname)
|
||||
dnickname = self.Config.SERVICE_NICKNAME
|
||||
color_bold = self.Config.COLORS.bold
|
||||
color_nogc = self.Config.COLORS.nogc
|
||||
color_blue = self.Config.COLORS.blue
|
||||
color_black = self.Config.COLORS.black
|
||||
color_underline = self.Config.COLORS.underline
|
||||
current_level = 0
|
||||
count = 0
|
||||
|
||||
if admin_obj is not None:
|
||||
current_level = admin_obj.level
|
||||
|
||||
@@ -377,39 +374,11 @@ class Irc:
|
||||
for cmd in self.Commands.get_commands_by_level(current_level):
|
||||
if module is None or cmd.module_name.lower() == module.lower():
|
||||
p.send_notice(
|
||||
nick_from=dnickname,
|
||||
nick_to=nickname,
|
||||
msg=f" {color_black}{cmd.command_level:<8}{color_nogc}| {cmd.command_name:<25}| {cmd.module_name:<15}| {cmd.description:<35}"
|
||||
)
|
||||
|
||||
return
|
||||
|
||||
for level, modules in self.module_commands.items():
|
||||
if level > current_level:
|
||||
break
|
||||
|
||||
if count > 0:
|
||||
p.send_notice(nick_from=dnickname, nick_to=nickname, msg=" ")
|
||||
|
||||
p.send_notice(
|
||||
nick_from=dnickname,
|
||||
nick_to=nickname,
|
||||
msg=f"{color_blue}{color_bold}Level {level}:{color_nogc}"
|
||||
)
|
||||
|
||||
for module_name, commands in modules.items():
|
||||
if module is None or module.lower() == module_name.lower():
|
||||
p.send_notice(
|
||||
nick_from=dnickname,
|
||||
nick_to=nickname,
|
||||
msg=f"{color_black} {color_underline}Module: {module_name}{color_nogc}"
|
||||
msg=f" {color_black}{cmd.command_level:<8}{color_nogc}| {cmd.command_name:<25}| {cmd.module_name:<15}| {cmd.description:<35}"
|
||||
)
|
||||
for command, description in commands.items():
|
||||
p.send_notice(nick_from=dnickname, nick_to=nickname, msg=f" {command:<20}: {description}")
|
||||
|
||||
count += 1
|
||||
|
||||
p.send_notice(nick_from=dnickname,nick_to=nickname,msg=f" ***************** FIN DES COMMANDES *****************")
|
||||
|
||||
return None
|
||||
|
||||
def generate_help_menu_bakcup(self, nickname: str) -> None:
|
||||
@@ -888,16 +857,13 @@ class Irc:
|
||||
|
||||
case 'PING':
|
||||
self.Protocol.on_server_ping(serverMsg=original_response)
|
||||
self.Logs.debug(f"** handle {parsed_protocol}")
|
||||
return None
|
||||
|
||||
case 'SJOIN':
|
||||
self.Protocol.on_sjoin(serverMsg=original_response)
|
||||
self.Logs.debug(f"** handle {parsed_protocol}")
|
||||
|
||||
case 'EOS':
|
||||
self.Protocol.on_eos(serverMsg=original_response)
|
||||
self.Logs.debug(f"** handle {parsed_protocol}")
|
||||
|
||||
case 'UID':
|
||||
try:
|
||||
@@ -906,48 +872,37 @@ class Irc:
|
||||
for classe_name, classe_object in self.loaded_classes.items():
|
||||
classe_object.cmd(original_response)
|
||||
|
||||
self.Logs.debug(f"** handle {parsed_protocol}")
|
||||
|
||||
except Exception as err:
|
||||
self.Logs.error(f'General Error: {err}')
|
||||
|
||||
case 'QUIT':
|
||||
self.Protocol.on_quit(serverMsg=original_response)
|
||||
self.Logs.debug(f"** handle {parsed_protocol}")
|
||||
|
||||
case 'PROTOCTL':
|
||||
self.Protocol.on_protoctl(serverMsg=original_response)
|
||||
self.Logs.debug(f"** handle {parsed_protocol}")
|
||||
|
||||
case 'SVS2MODE':
|
||||
# >> [':00BAAAAAG', 'SVS2MODE', '001U01R03', '-r']
|
||||
self.Protocol.on_svs2mode(serverMsg=original_response)
|
||||
self.Logs.debug(f"** handle {parsed_protocol}")
|
||||
|
||||
case 'SQUIT':
|
||||
self.Protocol.on_squit(serverMsg=original_response)
|
||||
self.Logs.debug(f"** handle {parsed_protocol}")
|
||||
|
||||
case 'PART':
|
||||
self.Protocol.on_part(serverMsg=parsed_protocol)
|
||||
self.Logs.debug(f"** handle {parsed_protocol}")
|
||||
|
||||
case 'VERSION':
|
||||
self.Protocol.on_version_msg(serverMsg=original_response)
|
||||
self.Logs.debug(f"** handle {parsed_protocol}")
|
||||
|
||||
case 'UMODE2':
|
||||
# [':adator_', 'UMODE2', '-i']
|
||||
self.Protocol.on_umode2(serverMsg=original_response)
|
||||
self.Logs.debug(f"** handle {parsed_protocol}")
|
||||
|
||||
case 'NICK':
|
||||
self.Protocol.on_nick(serverMsg=original_response)
|
||||
self.Logs.debug(f"** handle {parsed_protocol}")
|
||||
|
||||
case 'REPUTATION':
|
||||
self.Protocol.on_reputation(serverMsg=original_response)
|
||||
self.Logs.debug(f"** handle {parsed_protocol}")
|
||||
|
||||
case 'SLOG': # TODO
|
||||
self.Logs.debug(f"** handle {parsed_protocol}")
|
||||
@@ -957,7 +912,6 @@ class Irc:
|
||||
|
||||
case 'PRIVMSG':
|
||||
self.Protocol.on_privmsg(serverMsg=original_response)
|
||||
self.Logs.debug(f"** handle {parsed_protocol}")
|
||||
|
||||
case 'PONG': # TODO
|
||||
self.Logs.debug(f"** handle {parsed_protocol}")
|
||||
@@ -985,10 +939,9 @@ class Irc:
|
||||
classe_object.cmd(original_response)
|
||||
|
||||
except IndexError as ie:
|
||||
self.Logs.error(f"{ie} / {original_response} / length {str(len(original_response))}")
|
||||
self.Logs.error(f"IndexError: {ie}")
|
||||
except Exception as err:
|
||||
self.Logs.error(f"General Error: {err}")
|
||||
self.Logs.error(f"General Error: {traceback.format_exc()}")
|
||||
self.Logs.error(f"General Error: {err}", exc_info=True)
|
||||
|
||||
def hcmds(self, user: str, channel: Union[str, None], cmd: list, fullcmd: list = []) -> None:
|
||||
"""Create
|
||||
@@ -1461,9 +1414,6 @@ class Irc:
|
||||
module_name = str(cmd[1]) if len(cmd) == 2 else None
|
||||
self.generate_help_menu(nickname=fromuser, module=module_name)
|
||||
|
||||
for com in self.Commands.get_ordered_commands():
|
||||
print(com)
|
||||
|
||||
case 'load':
|
||||
try:
|
||||
# Load a module ex: .load mod_defender
|
||||
@@ -1513,7 +1463,7 @@ class Irc:
|
||||
nick_to=fromuser,
|
||||
msg=f"Arrêt du service {dnickname}"
|
||||
)
|
||||
self.Protocol.squit(server_id=self.Config.SERVEUR_ID, server_link=self.Config.SERVEUR_LINK, reason=final_reason)
|
||||
self.Protocol.send_squit(server_id=self.Config.SERVEUR_ID, server_link=self.Config.SERVEUR_LINK, reason=final_reason)
|
||||
self.Logs.info(f'Arrêt du server {dnickname}')
|
||||
self.Config.DEFENDER_RESTART = 0
|
||||
self.signal = False
|
||||
@@ -1540,7 +1490,7 @@ class Irc:
|
||||
self.Channel.UID_CHANNEL_DB.clear() # Clear Channel Object
|
||||
self.Base.delete_logger(self.Config.LOGGING_NAME)
|
||||
|
||||
self.Protocol.squit(server_id=self.Config.SERVEUR_ID, server_link=self.Config.SERVEUR_LINK, reason=final_reason)
|
||||
self.Protocol.send_squit(server_id=self.Config.SERVEUR_ID, server_link=self.Config.SERVEUR_LINK, reason=final_reason)
|
||||
self.Logs.info(f'Redémarrage du server {dnickname}')
|
||||
self.loaded_classes.clear()
|
||||
self.Config.DEFENDER_RESTART = 1 # Set restart status to 1 saying that the service will restart
|
||||
@@ -1592,14 +1542,16 @@ class Irc:
|
||||
restart_flag = True
|
||||
|
||||
if service_nickname != self.Config.SERVICE_NICKNAME:
|
||||
self.Protocol.set_nick(self.Config.SERVICE_NICKNAME)
|
||||
self.Protocol.send_set_nick(self.Config.SERVICE_NICKNAME)
|
||||
|
||||
if restart_flag:
|
||||
self.Config.SERVEUR_ID = serveur_id
|
||||
self.Protocol.send_priv_msg(nick_from=self.Config.SERVICE_NICKNAME, msg='You need to restart defender !', channel=self.Config.SERVICE_CHANLOG)
|
||||
|
||||
self.Base.delete_logger(self.Config.LOGGING_NAME)
|
||||
self.Base = self.Loader.BaseModule.Base(self.Config, self.Settings)
|
||||
self.Loader.ServiceLogging.remove_logger()
|
||||
self.Loader.ServiceLogging = self.Loader.LoggingModule.ServiceLogging()
|
||||
self.Loader.Logs = self.Loader.ServiceLogging.get_logger()
|
||||
self.Base = self.Loader.BaseModule.Base(self.Loader)
|
||||
|
||||
importlib.reload(mod_unreal6)
|
||||
importlib.reload(mod_protocol)
|
||||
|
||||
Reference in New Issue
Block a user