[ADD/WIP] Basic XEP-0393 support.

Still needs lots of work. Did I fail to mention I _hate_ HTML?
This commit is contained in:
LDA 2024-06-24 18:26:08 +02:00
commit 771c3271ad
10 changed files with 473 additions and 9 deletions

View file

@ -73,12 +73,14 @@ ParseeMessageHandler(ParseeData *data, HashMap *event)
char *sender = GrabString(event, 1, "sender");
char *chat_id, *muc_id, *jid;
char *reply_id = MatrixGetReply(event);
char *xepd = ParseeXMPPify(event);
bool direct = false;
if (ParseeIsPuppet(data->config, sender))
{
Free(reply_id);
Free(xepd);
return;
}
@ -101,6 +103,7 @@ ParseeMessageHandler(ParseeData *data, HashMap *event)
Free(local);
Free(reply_id);
Free(xepd);
return;
}
@ -110,6 +113,7 @@ ParseeMessageHandler(ParseeData *data, HashMap *event)
if (!chat_id)
{
Free(reply_id);
Free(xepd);
return;
}
jid = ParseeEncodeMXID(sender);
@ -125,7 +129,11 @@ ParseeMessageHandler(ParseeData *data, HashMap *event)
Log(LOG_INFO, "Replying to %s by %s", stanza, sender);
}
XMPPJoinMUC(jabber, jid, rev);
XMPPSendPlain(jabber, jid, muc_id, body, "groupchat", stanza, sender);
XMPPSendPlain(
jabber, jid, muc_id,
xepd ? xepd : body, "groupchat",
stanza, sender
);
Free(rev);
Free(name);
Free(stanza);
@ -135,6 +143,7 @@ ParseeMessageHandler(ParseeData *data, HashMap *event)
Free(muc_id);
Free(jid);
Free(reply_id);
Free(xepd);
}
void