commit b6da5b7
default
·
2023-04-24 15:37:59 +0000 UTC
parent f625d88
Added emojis to mastoapi_account().
1 files changed,
+36,
-1
+36,
-1
1@@ -462,7 +462,7 @@ xs_dict *mastoapi_account(const xs_dict *actor)
2
3 acct = xs_dict_append(acct, "note", note);
4
5- acct = xs_dict_append(acct, "url", id);
6+ acct = xs_dict_append(acct, "url", id);
7
8 xs *avatar = NULL;
9 xs_dict *av = xs_dict_get(actor, "icon");
10@@ -474,6 +474,41 @@ xs_dict *mastoapi_account(const xs_dict *actor)
11
12 acct = xs_dict_append(acct, "avatar", avatar);
13
14+ /* emojis */
15+ xs_list *p;
16+ if (!xs_is_null(p = xs_dict_get(actor, "tag"))) {
17+ xs *eml = xs_list_new();
18+ xs_dict *v;
19+ xs *t = xs_val_new(XSTYPE_TRUE);
20+
21+ while (xs_list_iter(&p, &v)) {
22+ const char *type = xs_dict_get(v, "type");
23+
24+ if (!xs_is_null(type) && strcmp(type, "Emoji") == 0) {
25+ const char *name = xs_dict_get(v, "name");
26+ const xs_dict *icon = xs_dict_get(v, "icon");
27+
28+ if (!xs_is_null(name) && !xs_is_null(icon)) {
29+ const char *url = xs_dict_get(icon, "url");
30+
31+ if (!xs_is_null(url)) {
32+ xs *nm = xs_strip_chars_i(xs_dup(name), ":");
33+ xs *d1 = xs_dict_new();
34+
35+ d1 = xs_dict_append(d1, "shortcode", nm);
36+ d1 = xs_dict_append(d1, "url", url);
37+ d1 = xs_dict_append(d1, "static_url", url);
38+ d1 = xs_dict_append(d1, "visible_in_picker", t);
39+
40+ eml = xs_list_append(eml, d1);
41+ }
42+ }
43+ }
44+ }
45+
46+ acct = xs_dict_append(acct, "emojis", eml);
47+ }
48+
49 return acct;
50 }
51