diff options
author | default <nobody@localhost> | 2024-06-18 06:40:35 +0200 |
---|---|---|
committer | default <nobody@localhost> | 2024-06-18 06:40:35 +0200 |
commit | c0333ea0c84e544c84dafcab48dbaa595d6d34b1 (patch) | |
tree | 4a09ef1df0d1aa8f8aa8eb21539f1ece1dfff2b5 | |
parent | 9be801630a0dd71936cf19d303e5c80c385c44a0 (diff) |
Added auto boosting (contributed by sarahpw).
If `auto_boost` is set to `true` in am account's user.json, all mentions
to that account are automatically boosted to all its followers.
This is very similar to the behaviour of a 'Group' actor.
-rw-r--r-- | activitypub.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/activitypub.c b/activitypub.c index cfc5abc..5b75506 100644 --- a/activitypub.c +++ b/activitypub.c @@ -934,6 +934,14 @@ void notify(snac *snac, const char *type, const char *utype, const char *actor, if (!xs_is_null(ntfy_server) && *ntfy_server) enqueue_ntfy(body, ntfy_server, ntfy_token); + /* auto boost */ + if (xs_match(type, "Create") && xs_type(xs_dict_get(snac->config, "auto_boost")) == XSTYPE_TRUE) { + xs *msg = msg_admiration(snac, objid, "Announce"); + enqueue_message(snac, msg); + + snac_debug(snac, 1, xs_fmt("auto boosted %s", objid)); + } + /* finally, store it in the notification folder */ if (strcmp(type, "Follow") == 0) objid = id; |