diff options
author | June McEnroe <june@causal.agency> | 2020-08-16 15:33:47 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-08-16 15:39:00 -0400 |
commit | aede92502c4fcf759f4fa4d6965595aee645c0a8 (patch) | |
tree | bf9351f6a7f36f9e01332e0ef34ab37196bdf01b /contrib/palaver/notify.c | |
parent | contrib/palaver: Don't set channel for PMs (diff) | |
download | pounce-aede92502c4fcf759f4fa4d6965595aee645c0a8.tar.gz pounce-aede92502c4fcf759f4fa4d6965595aee645c0a8.zip |
contrib/palaver: Add no message preview flags
Diffstat (limited to '')
-rw-r--r-- | contrib/palaver/notify.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/contrib/palaver/notify.c b/contrib/palaver/notify.c index 2d2d0bb..e35dabb 100644 --- a/contrib/palaver/notify.c +++ b/contrib/palaver/notify.c @@ -527,17 +527,24 @@ static void handleReplyUnaway(struct Message *msg) { sqlite3_reset(stmts[Clear]); } +static bool noPreview; +static bool noPrivatePreview; + static void jsonBody( char *buf, size_t cap, struct Message *msg, const char *network, bool preview ) { + bool private = (msg->params[0][0] != '#'); + if (private && noPrivatePreview) preview = false; + if (noPreview) preview = false; + FILE *file = fmemopen(buf, cap, "w"); if (!file) err(EX_OSERR, "fmemopen"); fprintf(file, "{\"badge\":%d", badge); fprintf(file, ",\"sender\":"); jsonString(file, msg->nick); - if (strcmp(msg->params[0], nick)) { + if (!private) { fprintf(file, ",\"channel\":"); jsonString(file, msg->params[0]); } @@ -654,9 +661,11 @@ int main(int argc, char *argv[]) { const char *pass = NULL; const char *user = "pounce-palaver"; - for (int opt; 0 < (opt = getopt(argc, argv, "!c:d:k:p:u:vw:"));) { + for (int opt; 0 < (opt = getopt(argc, argv, "!NPc:d:k:p:u:vw:"));) { switch (opt) { break; case '!': insecure = true; + break; case 'N': noPreview = true; + break; case 'P': noPrivatePreview = true; break; case 'c': cert = optarg; break; case 'd': path = optarg; break; case 'k': priv = optarg; |