From 5fce836036bc60d250b73b8883f02184435fb2c8 Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Sun, 5 Apr 2020 11:09:45 -0400 Subject: Add unscoop matchers for ban/unban events The IRC and Textual matchers miss bans mixed with other mode changes, but those are rare. --- unscoop.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/unscoop.c b/unscoop.c index eabb594..2e4d2d8 100644 --- a/unscoop.c +++ b/unscoop.c @@ -70,7 +70,13 @@ static const struct Matcher Catgirl[] = { }, { P1_TIME "([^ ]+) removes the sign in", Topic, { ":time", ":nick" }, - }, + }, { + P1_TIME "([^ ]+) bans [+]b ([^ ]+)", + Ban, { ":time", ":nick", ":target" }, + }, { + P1_TIME "([^ ]+) unbans [-]b ([^ ]+)", + Unban, { ":time", ":nick", ":target" }, + } }; static const struct Matcher Generic[] = { @@ -119,6 +125,12 @@ static const struct Matcher IRC[] = { }, { P2_TAGS P3_ORIGIN "TOPIC [^ ]+( :?(.+))?", Topic, { NULL, ":time", ":nick", ":user", ":host", NULL, ":message" }, + }, { + P2_TAGS P3_ORIGIN "MODE [^ ]+ [+]b+ :?(.+)", + Ban, { NULL, ":time", ":nick", ":user", ":host", ":target" }, + }, { + P2_TAGS P3_ORIGIN "MODE [^ ]+ [-]b+ :?(.+)", + Unban, { NULL, ":time", ":nick", ":user", ":host", ":target" }, }, }; #undef P2_TAGS @@ -154,7 +166,13 @@ static const struct Matcher Textual[] = { }, { P1_TIME "([^ ]+) changed the topic to (.+)", Topic, { ":time", ":nick", ":message" }, - }, + }, { + P1_TIME "([^ ]+) sets mode [+]b+ (.+)", + Ban, { ":time", ":nick", ":target" }, + }, { + P1_TIME "([^ ]+) sets mode [-]b+ (.+)", + Unban, { ":time", ":nick", ":target" }, + } }; #undef P2_USERHOST #undef P2_MESSAGE -- cgit 1.4.1