snac2

Fork of https://codeberg.org/grunfink/snac2
git clone https://git.inz.fi/snac2
Log | Files | Refs | README | LICENSE

commit 065773c70377567f7c6669b752ca51b27bef8ad3
parent 591613a49e23af913aebcaa0a205ed425a987717
Author: default <nobody@localhost>
Date:   Tue, 20 Sep 2022 11:38:18 +0200

Added muted functions.

Diffstat:
Mdata.c | 42++++++++++++++++++++++++++++++++++++++++++
Msnac.h | 3+++
2 files changed, 45 insertions(+), 0 deletions(-)

diff --git a/data.c b/data.c @@ -477,3 +477,45 @@ int following_check(snac *snac, char *actor) return !!(mtime(fn) != 0.0); } + + +d_char *_muted_fn(snac *snac, char *actor) +{ + xs *md5 = xs_md5_hex(actor, strlen(actor)); + return xs_fmt("%s/muted/%s.json", snac->basedir, md5); +} + + +void mute(snac *snac, char *actor) +/* mutes a moron */ +{ + xs *fn = _muted_fn(snac, actor); + FILE *f; + + if ((f = fopen(fn, "w")) != NULL) { + fprintf(f, "%s\n", actor); + fclose(f); + + snac_debug(snac, 2, xs_fmt("muted %s %s", actor, fn)); + } +} + + +void unmute(snac *snac, char *actor) +/* actor is no longer a moron */ +{ + xs *fn = _muted_fn(snac, actor); + + unlink(fn); + + snac_debug(snac, 2, xs_fmt("unmuted %s %s", actor, fn)); +} + + +int is_muted(snac *snac, char *actor) +/* check if someone is muted */ +{ + xs *fn = _muted_fn(snac, actor); + + return !!(mtime(fn) != 0.0); +} diff --git a/snac.h b/snac.h @@ -54,3 +54,6 @@ int following_add(snac *snac, char *actor, char *msg); int following_del(snac *snac, char *actor); int following_check(snac *snac, char *actor); +void mute(snac *snac, char *actor); +void unmute(snac *snac, char *actor); +int is_muted(snac *snac, char *actor);