|
@@ -35,6 +35,8 @@ int usage(void)
|
|
|
printf("unpin {basedir} {uid} {msg_url} Unpins a message\n");
|
|
|
printf("block {basedir} {instance_url} Blocks a full instance\n");
|
|
|
printf("unblock {basedir} {instance_url} Unblocks a full instance\n");
|
|
|
+ printf("limit {basedir} {uid} {actor} Limits an actor (drops their announces)\n");
|
|
|
+ printf("unlimit {basedir} {uid} {actor} Unlimits an actor\n");
|
|
|
|
|
|
|
|
|
|
|
@@ -272,6 +274,34 @@ int main(int argc, char *argv[])
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+ if (strcmp(cmd, "limit") == 0) {
|
|
|
+ int ret;
|
|
|
+
|
|
|
+ if (!following_check(&snac, url))
|
|
|
+ snac_log(&snac, xs_fmt("actor %s is not being followed", url));
|
|
|
+ else
|
|
|
+ if ((ret = limit(&snac, url)) == 0)
|
|
|
+ snac_log(&snac, xs_fmt("actor %s is now limited", url));
|
|
|
+ else
|
|
|
+ snac_log(&snac, xs_fmt("error limiting actor %s (%d)", url, ret));
|
|
|
+
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (strcmp(cmd, "unlimit") == 0) {
|
|
|
+ int ret;
|
|
|
+
|
|
|
+ if (!following_check(&snac, url))
|
|
|
+ snac_log(&snac, xs_fmt("actor %s is not being followed", url));
|
|
|
+ else
|
|
|
+ if ((ret = unlimit(&snac, url)) == 0)
|
|
|
+ snac_log(&snac, xs_fmt("actor %s is no longer limited", url));
|
|
|
+ else
|
|
|
+ snac_log(&snac, xs_fmt("error unlimiting actor %s (%d)", url, ret));
|
|
|
+
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
if (strcmp(cmd, "ping") == 0) {
|
|
|
xs *actor_o = NULL;
|
|
|
|