mirror of
https://github.com/iio612/DEFENDER.git
synced 2026-02-13 11:14:23 +00:00
Asyncio (#104)
* Remove all related to nickserv scope * Remove Client from the loader (nickserv like) * Fix issues coming from the feedback of dktmb
This commit is contained in:
@@ -70,9 +70,7 @@ class Command(IModule):
|
||||
self.ctx.Irc.Protocol.known_protocol.add(c)
|
||||
|
||||
self.ctx.Commands.build_command(2, self.module_name, 'join', 'Join a channel')
|
||||
self.ctx.Commands.build_command(2, self.module_name, 'assign', 'Assign a user to a role or task')
|
||||
self.ctx.Commands.build_command(2, self.module_name, 'part', 'Leave a channel')
|
||||
self.ctx.Commands.build_command(2, self.module_name, 'unassign', 'Remove a user from a role or task')
|
||||
self.ctx.Commands.build_command(2, self.module_name, 'owner', 'Give channel ownership to a user')
|
||||
self.ctx.Commands.build_command(2, self.module_name, 'deowner', 'Remove channel ownership from a user')
|
||||
self.ctx.Commands.build_command(2, self.module_name, 'protect', 'Protect a user from being kicked')
|
||||
@@ -218,16 +216,12 @@ class Command(IModule):
|
||||
user_uid = self.ctx.User.clean_uid(cmd[5])
|
||||
userObj: MUser = self.ctx.User.get_user(user_uid)
|
||||
channel_name = cmd[4] if self.ctx.Channel.is_valid_channel(cmd[4]) else None
|
||||
client_obj = self.ctx.Client.get_client(user_uid)
|
||||
nickname = userObj.nickname if userObj is not None else None
|
||||
|
||||
if client_obj is not None:
|
||||
nickname = client_obj.account
|
||||
|
||||
if userObj is None:
|
||||
return None
|
||||
|
||||
if 'r' not in userObj.umodes and 'o' not in userObj.umodes and not self.ctx.Client.is_exist(userObj.uid):
|
||||
if 'r' not in userObj.umodes and 'o' not in userObj.umodes:
|
||||
return None
|
||||
|
||||
db_data: dict[str, str] = {"nickname": nickname.lower(), "channel": channel_name.lower()}
|
||||
@@ -416,7 +410,7 @@ class Command(IModule):
|
||||
except Exception as err:
|
||||
self.ctx.Logs.warning(f'Unknown Error: {str(err)}')
|
||||
|
||||
case 'join' | 'assign':
|
||||
case 'join':
|
||||
try:
|
||||
await self.mod_utils.set_assign_channel_to_service(self, cmd, fromuser)
|
||||
except IndexError as ie:
|
||||
@@ -425,7 +419,7 @@ class Command(IModule):
|
||||
except Exception as err:
|
||||
self.ctx.Logs.warning(f'Unknown Error: {str(err)}')
|
||||
|
||||
case 'part' | 'unassign':
|
||||
case 'part':
|
||||
try:
|
||||
# Syntax. !part #channel
|
||||
await self.mod_utils.set_unassign_channel_to_service(self, cmd, fromuser)
|
||||
|
||||
@@ -115,9 +115,11 @@ async def set_mode_to_all(uplink: 'Command', channel_name: str, action: Literal[
|
||||
users:str = ''
|
||||
uids_split = [chan_info.uids[i:i + 6] for i in range(0, len(chan_info.uids), 6)]
|
||||
|
||||
await uplink.ctx.Irc.Protocol.send2socket(f":{service_id} MODE {channel_name} {action}{set_mode} {dnickname}")
|
||||
# await uplink.ctx.Irc.Protocol.send2socket(f":{service_id} MODE {channel_name} {action}{set_mode} {dnickname}")
|
||||
for uid in uids_split:
|
||||
for i in range(0, len(uid)):
|
||||
if uplink.ctx.Utils.clean_uid(uid[i]) == uplink.ctx.Config.SERVICE_ID:
|
||||
continue
|
||||
mode += set_mode
|
||||
users += f'{uplink.ctx.User.get_nickname(uplink.ctx.Utils.clean_uid(uid[i]))} '
|
||||
if i == len(uid) - 1:
|
||||
|
||||
@@ -288,10 +288,19 @@ class Defender(IModule):
|
||||
jail_chan = self.ctx.Config.SALON_JAIL # Salon pot de miel
|
||||
jail_chan_mode = self.ctx.Config.SALON_JAIL_MODES # Mode du salon "pot de miel"
|
||||
|
||||
color_green = self.ctx.Config.COLORS.green
|
||||
color_red = self.ctx.Config.COLORS.red
|
||||
color_black = self.ctx.Config.COLORS.black
|
||||
color_nogc = self.ctx.Config.COLORS.nogc
|
||||
|
||||
match command:
|
||||
|
||||
case 'show_reputation':
|
||||
|
||||
if self.mod_config.reputation == 0:
|
||||
await self.ctx.Irc.Protocol.send_notice(nick_from=dnickname, nick_to=fromuser, msg="Reputation system if off!")
|
||||
return None
|
||||
|
||||
if not self.ctx.Reputation.UID_REPUTATION_DB:
|
||||
await self.ctx.Irc.Protocol.send_notice(nick_from=dnickname, nick_to=fromuser, msg="No one is suspected")
|
||||
|
||||
@@ -664,9 +673,6 @@ class Defender(IModule):
|
||||
# .proxy_scan set psutil_scan on/off --> Active les informations de connexion a la machine locale
|
||||
# .proxy_scan set abuseipdb_scan on/off --> Active le scan via l'api abuseipdb
|
||||
len_cmd = len(cmd)
|
||||
color_green = self.ctx.Config.COLORS.green
|
||||
color_red = self.ctx.Config.COLORS.red
|
||||
color_black = self.ctx.Config.COLORS.black
|
||||
|
||||
if len_cmd == 4:
|
||||
set_key = str(cmd[1]).lower()
|
||||
@@ -943,6 +949,7 @@ class Defender(IModule):
|
||||
if chan.name not in channel_to_dont_quit:
|
||||
await self.ctx.Irc.Protocol.send_join_chan(uidornickname=dnickname, channel=chan.name)
|
||||
await self.ctx.Irc.Protocol.send_priv_msg(dnickname, f"Sentinel mode activated on {channel}", channel=chan.name)
|
||||
await self.ctx.Irc.Protocol.send_priv_msg(dnickname, f"[ {color_green}SENTINEL{color_nogc} ] Activated by {fromuser}", channel=self.ctx.Config.SERVICE_CHANLOG)
|
||||
return None
|
||||
|
||||
if activation == 'off':
|
||||
@@ -955,9 +962,9 @@ class Defender(IModule):
|
||||
if chan.name not in channel_to_dont_quit:
|
||||
await self.ctx.Irc.Protocol.send_part_chan(uidornickname=dnickname, channel=chan.name)
|
||||
await self.ctx.Irc.Protocol.send_priv_msg(dnickname, f"Sentinel mode deactivated on {channel}", channel=chan.name)
|
||||
|
||||
await self.join_saved_channels()
|
||||
|
||||
await self.join_saved_channels()
|
||||
await self.ctx.Irc.Protocol.send_priv_msg(dnickname, f"[ {color_red}SENTINEL{color_nogc} ] Deactivated by {fromuser}", channel=self.ctx.Config.SERVICE_CHANLOG)
|
||||
return None
|
||||
|
||||
case _:
|
||||
|
||||
Reference in New Issue
Block a user