diff options
| author | 2019-10-18 15:43:17 +0100 | |
|---|---|---|
| committer | 2019-10-18 15:43:17 +0100 | |
| commit | 20a115e71d39d4b56e3926a4aa1c71421ccf7b77 (patch) | |
| tree | 0d5e591bbb9c1d7c72100c0dbcca083c2c5ae1df | |
| parent | v1.13.0-rc1 release (diff) | |
| signature | ||
add "!" arg to !fedi, to denote "dont show content warning"
| -rw-r--r-- | modules/fediverse/__init__.py | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/modules/fediverse/__init__.py b/modules/fediverse/__init__.py index 44b1357a..690ca524 100644 --- a/modules/fediverse/__init__.py +++ b/modules/fediverse/__init__.py @@ -50,21 +50,30 @@ class Module(ModuleManager.BaseModule): @utils.hook("received.command.fediverse") @utils.hook("received.command.fedi", alias_of="fediverse") @utils.kwarg("help", "Get someone's latest toot") - @utils.kwarg("usage", "@<user>@<instance>") + @utils.kwarg("usage", "@<user>@<instance> [!]") def fedi(self, event): account = None url = None - if not event["args"]: + + show_cw = True + args_split = event["args_split"][:] + for i, arg in enumerate(args_split): + if arg == "!": + show_cw = False + args_split.pop(i) + break + + if not args_split: account = event["user"].get_setting("fediverse", None) - elif utils.http.REGEX_URL.match(event["args_split"][0]): - url = event["args_split"][0] - elif not "@" in event["args"]: - target = event["args_split"][0] + elif utils.http.REGEX_URL.match(args_split[0]): + url = args_split[0] + elif not "@" in args_split[0]: + target = args_split[0] if event["server"].has_user_id(target): target_user = event["server"].get_user(target) account = target_user.get_setting("fediverse", None) else: - account = event["args_split"][0] + account = args_split[0] note = None type = "Create" @@ -92,7 +101,7 @@ class Module(ModuleManager.BaseModule): shorturl = self.exports.get_one("shorturl")(event["server"], url, context=event["target"]) - if cw: + if cw and show_cw: out = "CW: %s - %s" % (cw, shorturl) else: out = "%s - %s" % (out, shorturl) |
