mirror of
https://forge.fsky.io/lda/Parsee.git
synced 2026-03-13 13:45:10 +00:00
This is still unstable(and I still need to design/document the exposed API)! Do(n't) go and use it!
51 lines
1.2 KiB
C
51 lines
1.2 KiB
C
#include <Routes.h>
|
|
|
|
#include <AS.h>
|
|
|
|
#include <Cytoplasm/Log.h>
|
|
#include <stdlib.h>
|
|
|
|
CommandHead(CmdSetPL, cmd, argp)
|
|
{
|
|
ParseeCmdArg *args = argp;
|
|
ParseeData *data = args->data;
|
|
char *user = HashMapGet(cmd->arguments, "user");
|
|
char *room = HashMapGet(cmd->arguments, "room");
|
|
char *pl_str = HashMapGet(cmd->arguments, "pl");
|
|
long pl = pl_str ? strtol(pl_str, NULL, 10) : 0;
|
|
HashMap *map;
|
|
|
|
|
|
if (!user || !pl_str)
|
|
{
|
|
return;
|
|
}
|
|
map = ASGetPL(data->config, room);
|
|
JsonValueFree(JsonSet(
|
|
map, JsonValueInteger(pl),
|
|
2, "users", user
|
|
));
|
|
ASSetPL(data->config, room, map);
|
|
}
|
|
CommandHead(CmdSetMin, cmd, argp)
|
|
{
|
|
ParseeCmdArg *args = argp;
|
|
ParseeData *data = args->data;
|
|
char *event = HashMapGet(cmd->arguments, "event");
|
|
char *room = HashMapGet(cmd->arguments, "room");
|
|
char *pl_str = HashMapGet(cmd->arguments, "pl");
|
|
long pl = strtol(pl_str, NULL, 10);
|
|
HashMap *map;
|
|
|
|
|
|
if (!event || !pl_str)
|
|
{
|
|
return;
|
|
}
|
|
map = ASGetPL(data->config, room);
|
|
JsonValueFree(JsonSet(
|
|
map, JsonValueInteger(pl),
|
|
2, "events", event
|
|
));
|
|
ASSetPL(data->config, room, map);
|
|
}
|