From 638eee0d685c06d258cb55287204ca97bca7c344 Mon Sep 17 00:00:00 2001 From: jesopo Date: Tue, 10 Dec 2019 05:27:35 +0000 Subject: move core modules to src/core_modules, make them uneffected by white/black list --- modules/admin.py | 208 ------------------ modules/channel_access.py | 91 -------- modules/channel_blacklist.py | 40 ---- modules/channel_keys.py | 55 ----- modules/check_mode.py | 43 ---- modules/commands/__init__.py | 424 ------------------------------------- modules/commands/outs.py | 28 --- modules/config.py | 244 --------------------- modules/ctcp.py | 29 --- modules/deferred_read.py | 23 -- modules/fake_echo.py | 13 -- modules/format_activity.py | 285 ------------------------- modules/help.py | 124 ----------- modules/ignore.py | 163 -------------- modules/ircv3_chathistory.py | 36 ---- modules/ircv3_echo_message.py | 21 -- modules/ircv3_labeled_responses.py | 67 ------ modules/ircv3_message_tracking.py | 17 -- modules/ircv3_metadata.py | 16 -- modules/ircv3_msgid.py | 31 --- modules/ircv3_sasl/README.md | 46 ---- modules/ircv3_sasl/__init__.py | 195 ----------------- modules/ircv3_sasl/scram.py | 130 ------------ modules/ircv3_server_time.py | 12 -- modules/ircv3_sts.py | 70 ------ modules/line_handler/__init__.py | 260 ----------------------- modules/line_handler/channel.py | 160 -------------- modules/line_handler/core.py | 154 -------------- modules/line_handler/ircv3.py | 138 ------------ modules/line_handler/message.py | 109 ---------- modules/line_handler/user.py | 102 --------- modules/modules.py | 122 ----------- modules/more.py | 23 -- modules/nick_regain.py | 48 ----- modules/perform.py | 76 ------- modules/permissions/__init__.py | 357 ------------------------------- modules/print_activity.py | 48 ----- modules/proxy.py | 38 ---- modules/signals.py | 65 ------ modules/silence.py | 70 ------ modules/strip_color.py | 22 -- modules/strip_otr.py | 15 -- modules/throttle.py | 17 -- 43 files changed, 4235 deletions(-) delete mode 100644 modules/admin.py delete mode 100644 modules/channel_access.py delete mode 100644 modules/channel_blacklist.py delete mode 100644 modules/channel_keys.py delete mode 100644 modules/check_mode.py delete mode 100644 modules/commands/__init__.py delete mode 100644 modules/commands/outs.py delete mode 100644 modules/config.py delete mode 100644 modules/ctcp.py delete mode 100644 modules/deferred_read.py delete mode 100644 modules/fake_echo.py delete mode 100644 modules/format_activity.py delete mode 100644 modules/help.py delete mode 100644 modules/ignore.py delete mode 100644 modules/ircv3_chathistory.py delete mode 100644 modules/ircv3_echo_message.py delete mode 100644 modules/ircv3_labeled_responses.py delete mode 100644 modules/ircv3_message_tracking.py delete mode 100644 modules/ircv3_metadata.py delete mode 100644 modules/ircv3_msgid.py delete mode 100644 modules/ircv3_sasl/README.md delete mode 100644 modules/ircv3_sasl/__init__.py delete mode 100644 modules/ircv3_sasl/scram.py delete mode 100644 modules/ircv3_server_time.py delete mode 100644 modules/ircv3_sts.py delete mode 100644 modules/line_handler/__init__.py delete mode 100644 modules/line_handler/channel.py delete mode 100644 modules/line_handler/core.py delete mode 100644 modules/line_handler/ircv3.py delete mode 100644 modules/line_handler/message.py delete mode 100644 modules/line_handler/user.py delete mode 100644 modules/modules.py delete mode 100644 modules/more.py delete mode 100644 modules/nick_regain.py delete mode 100644 modules/perform.py delete mode 100644 modules/permissions/__init__.py delete mode 100644 modules/print_activity.py delete mode 100644 modules/proxy.py delete mode 100644 modules/signals.py delete mode 100644 modules/silence.py delete mode 100644 modules/strip_color.py delete mode 100644 modules/strip_otr.py delete mode 100644 modules/throttle.py (limited to 'modules') diff --git a/modules/admin.py b/modules/admin.py deleted file mode 100644 index 364380d4..00000000 --- a/modules/admin.py +++ /dev/null @@ -1,208 +0,0 @@ -#--depends-on commands -#--depends-on permissions - -from src import IRCLine, ModuleManager, utils - -class Module(ModuleManager.BaseModule): - @utils.hook("received.command.nick", min_args=1) - def change_nickname(self, event): - """ - :help: Change my nickname - :usage: - :permission: changenickname - """ - nickname = event["args_split"][0] - event["server"].send_nick(nickname) - - @utils.hook("received.command.raw", min_args=1) - def raw(self, event): - """ - :help: Send a line of raw IRC data - :usage: - :permission: raw - """ - if IRCLine.is_human(event["args"]): - line = IRCLine.parse_human(event["args"]) - else: - line = IRCLine.parse_line(event["args"]) - line = event["server"].send(line) - - if not line == None: - event["stdout"].write("Sent: %s" % line.parsed_line.format()) - else: - event["stderr"].write("Line was filtered") - - @utils.hook("received.command.part") - def part(self, event): - """ - :help: Part from the current or given channel - :usage: [channel] - :permission: part - """ - if event["args"]: - target = event["args_split"][0] - elif event["is_channel"]: - target = event["target"].name - else: - event["stderr"].write("No channel provided") - event["server"].send_part(target) - - def _id_from_alias(self, alias): - return self.bot.database.servers.get_by_alias(alias) - def _server_from_alias(self, alias): - id, server = self._both_from_alias(alias) - return server - def _both_from_alias(self, alias): - id = self._id_from_alias(alias) - if id == None: - raise utils.EventError("Unknown server alias") - return id, self.bot.get_server_by_id(id) - - @utils.hook("received.command.reconnect") - def reconnect(self, event): - """ - :help: Reconnect to the current network - :permission: reconnect - """ - server = event["server"] - alias = str(event["server"]) - if event["args"]: - alias = event["args_split"][0] - server = self._server_from_alias(alias) - - if server: - line = server.send_quit("Reconnecting") - line.events.on("send").hook(lambda e: self.bot.reconnect( - server.id, server.connection_params)) - if not server == event["server"]: - event["stdout"].write("Reconnecting to %s" % alias) - else: - event["stdout"].write("Not connected to %s" % alias) - - @utils.hook("received.command.connect", min_args=1) - def connect(self, event): - """ - :help: Connect to a network - :usage: - :permission: connect - """ - alias = event["args_split"][0] - server = self._server_from_alias(alias) - if server: - raise utils.EventError("Already connected to %s" % str(server)) - - server = self.bot.add_server(self._id_from_alias(alias)) - event["stdout"].write("Connecting to %s" % str(server)) - - @utils.hook("received.command.disconnect") - def disconnect(self, event): - """ - :help: Disconnect from a server - :usage: [server id] - :permission: disconnect - """ - server = event["server"] - id = -1 - alias = str(event["server"]) - if event["args"]: - alias = event["args_split"][0] - id, server = self._both_from_alias(alias) - - if not server == None: - alias = str(server) - server.disconnect() - self.bot.disconnect(server) - elif id in self.bot.reconnections: - self.bot.reconnections[id].cancel() - del self.bot.reconnections[id] - else: - raise utils.EventError("Server not connected") - - event["stdout"].write("Disconnected from %s" % alias) - - @utils.hook("received.command.shutdown") - def shutdown(self, event): - """ - :help: Shutdown bot - :usage: [reason] - :permission: shutdown - """ - reason = event["args"] or "" - for server in self.bot.servers.values(): - line = server.send_quit(reason) - line.events.on("send").hook(self._shutdown_hook(server)) - def _shutdown_hook(self, server): - def shutdown(e): - server.disconnect() - self.bot.disconnect(server) - return shutdown - - @utils.hook("received.command.addserver", min_args=3) - def add_server(self, event): - """ - :help: Add a new server - :usage: :[+] ![@] - :permission: addserver - """ - alias = event["args_split"][0] - hostname, sep, port = event["args_split"][1].partition(":") - tls = port.startswith("+") - port = port.lstrip("+") - - if not hostname or not port or not port.isdigit(): - raise utils.EventError("Please provide :[+]") - port = int(port) - - hostmask = IRCLine.parse_hostmask(event["args_split"][2]) - nickname = hostmask.nickname - username = hostmask.username or nickname - realname = nickname - bindhost = hostmask.hostname or None - - try: - server_id = self.bot.database.servers.add(alias, hostname, port, "", - tls, bindhost, nickname, username, realname) - except Exception as e: - event["stderr"].write("Failed to add server") - self.log.error("failed to add server \"%s\"", [alias], - exc_info=True) - return - event["stdout"].write("Added server '%s'" % alias) - - @utils.hook("received.command.editserver") - @utils.kwarg("min_args", 3) - @utils.kwarg("help", "Edit server details") - @utils.kwarg("usage", "