summaryrefslogtreecommitdiff
path: root/activitypub.c
diff options
context:
space:
mode:
authorGravatar default2022-09-27 15:28:08 +0200
committerGravatar default2022-09-27 15:28:08 +0200
commit05bf4b2c3c9888ab8830e8f4bbe73e8ad4538760 (patch)
treed801296d3f04efc7424b7e4f02d5f391d28cbb4e /activitypub.c
parentMore work in msg_note(). (diff)
downloadsnac2-05bf4b2c3c9888ab8830e8f4bbe73e8ad4538760.tar.gz
snac2-05bf4b2c3c9888ab8830e8f4bbe73e8ad4538760.tar.xz
snac2-05bf4b2c3c9888ab8830e8f4bbe73e8ad4538760.zip
New function msg_follow().
Diffstat (limited to 'activitypub.c')
-rw-r--r--activitypub.c28
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
383d_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
383d_char *msg_note(snac *snac, char *content, char *rcpts, char *in_reply_to) 411d_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{