diff options
Diffstat (limited to 'main.c')
| -rw-r--r-- | main.c | 30 |
1 files changed, 30 insertions, 0 deletions
| @@ -35,6 +35,8 @@ int usage(void) | |||
| 35 | printf("unpin {basedir} {uid} {msg_url} Unpins a message\n"); | 35 | printf("unpin {basedir} {uid} {msg_url} Unpins a message\n"); |
| 36 | printf("block {basedir} {instance_url} Blocks a full instance\n"); | 36 | printf("block {basedir} {instance_url} Blocks a full instance\n"); |
| 37 | printf("unblock {basedir} {instance_url} Unblocks a full instance\n"); | 37 | printf("unblock {basedir} {instance_url} Unblocks a full instance\n"); |
| 38 | printf("limit {basedir} {uid} {actor} Limits an actor (drops their announces)\n"); | ||
| 39 | printf("unlimit {basedir} {uid} {actor} Unlimits an actor\n"); | ||
| 38 | 40 | ||
| 39 | /* printf("question {basedir} {uid} 'opts' Generates a poll (;-separated opts)\n");*/ | 41 | /* printf("question {basedir} {uid} 'opts' Generates a poll (;-separated opts)\n");*/ |
| 40 | 42 | ||
| @@ -272,6 +274,34 @@ int main(int argc, char *argv[]) | |||
| 272 | return 0; | 274 | return 0; |
| 273 | } | 275 | } |
| 274 | 276 | ||
| 277 | if (strcmp(cmd, "limit") == 0) { /** **/ | ||
| 278 | int ret; | ||
| 279 | |||
| 280 | if (!following_check(&snac, url)) | ||
| 281 | snac_log(&snac, xs_fmt("actor %s is not being followed", url)); | ||
| 282 | else | ||
| 283 | if ((ret = limit(&snac, url)) == 0) | ||
| 284 | snac_log(&snac, xs_fmt("actor %s is now limited", url)); | ||
| 285 | else | ||
| 286 | snac_log(&snac, xs_fmt("error limiting actor %s (%d)", url, ret)); | ||
| 287 | |||
| 288 | return 0; | ||
| 289 | } | ||
| 290 | |||
| 291 | if (strcmp(cmd, "unlimit") == 0) { /** **/ | ||
| 292 | int ret; | ||
| 293 | |||
| 294 | if (!following_check(&snac, url)) | ||
| 295 | snac_log(&snac, xs_fmt("actor %s is not being followed", url)); | ||
| 296 | else | ||
| 297 | if ((ret = unlimit(&snac, url)) == 0) | ||
| 298 | snac_log(&snac, xs_fmt("actor %s is no longer limited", url)); | ||
| 299 | else | ||
| 300 | snac_log(&snac, xs_fmt("error unlimiting actor %s (%d)", url, ret)); | ||
| 301 | |||
| 302 | return 0; | ||
| 303 | } | ||
| 304 | |||
| 275 | if (strcmp(cmd, "ping") == 0) { /** **/ | 305 | if (strcmp(cmd, "ping") == 0) { /** **/ |
| 276 | xs *actor_o = NULL; | 306 | xs *actor_o = NULL; |
| 277 | 307 | ||