diff options
| author | 2022-09-27 15:28:08 +0200 | |
|---|---|---|
| committer | 2022-09-27 15:28:08 +0200 | |
| commit | 05bf4b2c3c9888ab8830e8f4bbe73e8ad4538760 (patch) | |
| tree | d801296d3f04efc7424b7e4f02d5f391d28cbb4e /activitypub.c | |
| parent | More work in msg_note(). (diff) | |
| download | snac2-05bf4b2c3c9888ab8830e8f4bbe73e8ad4538760.tar.gz snac2-05bf4b2c3c9888ab8830e8f4bbe73e8ad4538760.tar.xz snac2-05bf4b2c3c9888ab8830e8f4bbe73e8ad4538760.zip | |
New function msg_follow().
Diffstat (limited to 'activitypub.c')
| -rw-r--r-- | activitypub.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/activitypub.c b/activitypub.c index d54e5ba..3ea05f5 100644 --- a/activitypub.c +++ b/activitypub.c | |||
| @@ -380,6 +380,34 @@ d_char *msg_create(snac *snac, char *object) | |||
| 380 | } | 380 | } |
| 381 | 381 | ||
| 382 | 382 | ||
| 383 | d_char *msg_follow(snac *snac, char *actor) | ||
| 384 | /* creates a 'Follow' message */ | ||
| 385 | { | ||
| 386 | d_char *actor_o = NULL; | ||
| 387 | d_char *msg = NULL; | ||
| 388 | int status; | ||
| 389 | |||
| 390 | /* request the actor */ | ||
| 391 | status = actor_request(snac, actor, &actor_o); | ||
| 392 | |||
| 393 | if (valid_status(status)) { | ||
| 394 | /* check if the actor is an alias */ | ||
| 395 | char *r_actor = xs_dict_get(actor_o, "id"); | ||
| 396 | |||
| 397 | if (r_actor && strcmp(actor, r_actor) != 0) { | ||
| 398 | snac_log(snac, xs_fmt("actor to follow is an alias %s -> %s", actor, r_actor)); | ||
| 399 | actor = r_actor; | ||
| 400 | } | ||
| 401 | |||
| 402 | msg = msg_base(snac, "Follow", "@dummy", snac->actor, NULL, actor); | ||
| 403 | } | ||
| 404 | else | ||
| 405 | snac_log(snac, xs_fmt("cannot get actor to follow %s %d", actor, status)); | ||
| 406 | |||
| 407 | return msg; | ||
| 408 | } | ||
| 409 | |||
| 410 | |||
| 383 | d_char *msg_note(snac *snac, char *content, char *rcpts, char *in_reply_to) | 411 | d_char *msg_note(snac *snac, char *content, char *rcpts, char *in_reply_to) |
| 384 | /* creates a 'Note' message */ | 412 | /* creates a 'Note' message */ |
| 385 | { | 413 | { |