aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jesopo2019-09-27 16:14:39 +0100
committerGravatar jesopo2019-09-27 16:14:39 +0100
commitddaf8a38905bfba2e076f9d5c564e5a1e2e2e90f (patch)
treed0fed8c9916638f8f4d9091b2cbc9fffdb94b12f
parentadd external_modules directory (diff)
signature
add !msg
-rw-r--r--external_modules/.keep0
-rw-r--r--modules/echo.py9
-rwxr-xr-xstart.py9
3 files changed, 16 insertions, 2 deletions
diff --git a/external_modules/.keep b/external_modules/.keep
deleted file mode 100644
index e69de29b..00000000
--- a/external_modules/.keep
+++ /dev/null
diff --git a/modules/echo.py b/modules/echo.py
index 087f6413..ee27cc2b 100644
--- a/modules/echo.py
+++ b/modules/echo.py
@@ -13,3 +13,12 @@ class Module(ModuleManager.BaseModule):
@utils.kwarg("expect_output", False)
def action(self, event):
event["target"].send_message("\x01ACTION %s\x01" % event["args"])
+
+ @utils.hook("received.command.msg")
+ @utils.kwarg("min_args", 2)
+ @utils.kwarg("permission", "say")
+ @utils.kwarg("remove_empty", False)
+ @utils.kwarg("help", "Send a message to a target")
+ def msg(self, event):
+ event["server"].send_message(event["args_split"][0],
+ " ".join(event["args_split"][1:]))
diff --git a/start.py b/start.py
index c6d518a5..19c85719 100755
--- a/start.py
+++ b/start.py
@@ -42,6 +42,7 @@ arg_parser.add_argument("--module", "-m",
help="Execute an action against a specific module")
arg_parser.add_argument("--module-args", "-M",
help="Arguments to give in action against a specific module")
+arg_parser.add_argument("--external", "-e", help="External modules directory")
arg_parser.add_argument("--startup-disconnects", "-D",
help="Tolerate failed connections on startup", action="store_true")
@@ -87,8 +88,12 @@ events = EventManager.EventRoot(log).wrap()
exports = Exports.Exports()
timers = Timers.Timers(database, events, log)
-module_directories = [os.path.join(directory, "modules"),
- os.path.join(directory, "external_modules")]
+module_directories = [os.path.join(directory, "modules")]
+if args.external:
+ module_directories.append(os.path.abspath(args.external))
+if "external-modules" in config:
+ module_directories.append(os.path.abspath(config["external-modules"]))
+
modules = ModuleManager.ModuleManager(events, exports, timers, config, log,
module_directories)