mirror of
https://forge.fsky.io/lda/Parsee.git
synced 2026-03-13 22:55:11 +00:00
[ADD/MOD] Cleanup cmd, change Matrix user format
This commit is contained in:
parent
9e5e741989
commit
91d373addb
13 changed files with 217 additions and 77 deletions
|
|
@ -53,7 +53,7 @@ typedef struct ParseeData {
|
|||
#define GrabObject(obj, ...) JsonValueAsObject(JsonGet(obj, __VA_ARGS__))
|
||||
#define GrabArray(obj, ...) JsonValueAsArray(JsonGet(obj, __VA_ARGS__))
|
||||
|
||||
/* Milliseconds to UNIT macros, to be used like 30 SECONDS and 1 MINUTE
|
||||
/* Milliseconds to UNIT macros, to be used like 30 SECONDS and 1 MINUTES
|
||||
* in timestamps */
|
||||
#define SECONDS * 1000
|
||||
#define MINUTES * 60 SECONDS
|
||||
|
|
@ -90,9 +90,6 @@ extern void ParseeEventHandler(ParseeData *, HashMap *);
|
|||
/* Verifies if a user is a Parsee puppet user. */
|
||||
extern bool ParseeIsPuppet(const ParseeConfig *, char *);
|
||||
|
||||
/* Verifies if a user is a Parsee puppet user on XMPP. */
|
||||
extern bool ParseeIsJabberPuppet(const ParseeConfig *, char *);
|
||||
|
||||
/* Decodes a local JID for a user into a string. */
|
||||
extern char * ParseeDecodeLocalJID(const ParseeConfig *, char *);
|
||||
|
||||
|
|
@ -230,4 +227,10 @@ extern bool ParseeVerifyDMStanza(ParseeData *data, char *room_id, char *id);
|
|||
|
||||
/* Checks if any user is an admin */
|
||||
extern bool ParseeIsAdmin(ParseeData *data, char *user);
|
||||
|
||||
/* Measures Parsee's overall uptime */
|
||||
extern uint64_t ParseeUptime(void);
|
||||
|
||||
/* Turns a date into a nice "X minutes, Y seconds" string */
|
||||
extern char * ParseeStringifyDate(uint64_t millis);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@ extern void XMPPAddOption(XMPPCommand *cmd, XMPPOption *opt);
|
|||
extern XMLElement * XMPPFormifyCommand(XMPPCommand *cmd);
|
||||
extern char * XMPPGetCommandNode(XMPPCommand *cmd);
|
||||
extern char * XMPPGetCommandDesc(XMPPCommand *cmd);
|
||||
extern void XMPPSetFormInstruction(XMPPCommand *cmd, char *instruction);
|
||||
extern void XMPPSetFormTitle(XMPPCommand *cmd, char *title);
|
||||
extern bool XMPPCommandRequiresForm(XMPPCommand *cmd);
|
||||
extern void XMPPExecuteCommand(XMPPCommandManager *m, XMPPCommand *cmd, char *from, XMLElement *to, XMLElement *form);
|
||||
|
||||
|
|
@ -51,7 +53,6 @@ extern bool XMPPIsOptionRequired(XMPPOption *opt);
|
|||
extern char * XMPPOptionVar(XMPPOption *opt);
|
||||
|
||||
extern XMLElement * XMPPOptionToXML(XMPPOption *opt);
|
||||
extern void XMPPShoveOptions(XMPPCommand *cmd, XMLElement *form);
|
||||
|
||||
extern void XMPPFreeOption(XMPPOption *opt);
|
||||
extern void XMPPFreeCommand(XMPPCommand *cmd);
|
||||
|
|
@ -92,11 +93,16 @@ extern bool XMPPManageCommand(XMPPCommandManager *m, XMLElement *stanza, ParseeD
|
|||
/* --------------------------------- COMMANDS --------------------------------- */
|
||||
#define XMPPCOMMANDS \
|
||||
XMPP_COMMAND(StatusCallback, "stats", "Get Parsee statistics", {}) \
|
||||
XMPP_COMMAND(CleanCallback, "clean", "Cleanup temporary Parsee data", {}) \
|
||||
XMPP_COMMAND(AdminsCallback, "admin", "Get Parsee admin list", {}) \
|
||||
XMPP_COMMAND(NoflyCallback, "nofly", "Get Parsee nofly list", {}) \
|
||||
XMPP_COMMAND(AddAdminCallback, "add-admin", "Adds glob as admin", { \
|
||||
XMPPOption *glob = XMPPCreateText(true, "glob", ""); \
|
||||
XMPPSetDescription(glob, "Glob pattern to set as admin"); \
|
||||
XMPPAddOption(cmd, glob); \
|
||||
\
|
||||
XMPPSetFormTitle(cmd, "Admin addition form"); \
|
||||
XMPPSetFormInstruction(cmd, "Select a glob pattern to add as an admin"); \
|
||||
}) \
|
||||
XMPP_COMMAND(AddNoflyCallback, "add-nofly", "Adds user to nofly", { \
|
||||
XMPPOption *entity = XMPPCreateText(true, "entity", ""); \
|
||||
|
|
@ -105,10 +111,16 @@ extern bool XMPPManageCommand(XMPPCommandManager *m, XMLElement *stanza, ParseeD
|
|||
XMPPAddOption(cmd, entity); \
|
||||
XMPPSetDescription(reason, "Reason for the no-fly"); \
|
||||
XMPPAddOption(cmd, reason); \
|
||||
\
|
||||
XMPPSetFormTitle(cmd, "No-fly addition form"); \
|
||||
XMPPSetFormInstruction(cmd, "Select a glob pattern to add to the nofly"); \
|
||||
}) \
|
||||
XMPP_COMMAND(NoflyCallback, "nofly", "Get Parsee nofly list", {})
|
||||
|
||||
#define XMPP_COMMAND(f,n,t,s) extern void f(XMPPCommandManager *, char *, XMLElement *, XMLElement *);
|
||||
#define XMPP_COMMAND(f,n,t,s) \
|
||||
extern void \
|
||||
f(XMPPCommandManager *, char *, XMLElement *, XMLElement *);
|
||||
|
||||
XMPPCOMMANDS
|
||||
|
||||
#undef XMPP_COMMAND
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue