summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--database.h4
-rw-r--r--litterbox.c4
-rw-r--r--scoop.c18
3 files changed, 25 insertions, 1 deletions
diff --git a/database.h b/database.h
index 5893f77..c852e11 100644
--- a/database.h
+++ b/database.h
@@ -42,7 +42,9 @@ enum { DatabaseVersion = 2 };
 	X(Quit, "quit") \
 	X(Kick, "kick") \
 	X(Nick, "nick") \
-	X(Topic, "topic")
+	X(Topic, "topic") \
+	X(Ban, "ban") \
+	X(Unban, "unban")
 
 enum Type {
 #define X(id, _) id,
diff --git a/litterbox.c b/litterbox.c
index 14dd626..d0cafef 100644
--- a/litterbox.c
+++ b/litterbox.c
@@ -304,6 +304,10 @@ static void querySearch(struct Message *msg) {
 					"\3%02d%s\3 set the topic: %s\r\n",
 					color(user), nick, message
 				);
+			break; case Ban:
+				format("\3%02d%s\3 banned %s\r\n", color(user), nick, target);
+			break; case Unban:
+				format("\3%02d%s\3 unbanned %s\r\n", color(user), nick, target);
 		}
 	}
 	if (result != SQLITE_DONE) {
diff --git a/scoop.c b/scoop.c
index a1b75c7..d95a971 100644
--- a/scoop.c
+++ b/scoop.c
@@ -77,6 +77,12 @@ static void formatPlain(bool group, struct Event e) {
 		break; case Topic: {
 			printf("%s set the topic: %s\n", e.nick, e.message);
 		}
+		break; case Ban: {
+			printf("%s banned %s\n", e.nick, e.target);
+		}
+		break; case Unban: {
+			printf("%s unbanned %s\n", e.nick, e.target);
+		}
 	}
 }
 
@@ -189,6 +195,12 @@ static void formatColor(bool group, struct Event e) {
 				color(e.user), e.nick, ansi(e.message)
 			);
 		}
+		break; case Ban: {
+			printf(C "%s" O " banned %s\n", color(e.user), e.nick, e.target);
+		}
+		break; case Unban: {
+			printf(C "%s" O " unbanned %s\n", color(e.user), e.nick, e.target);
+		}
 	}
 #undef C
 #undef O
@@ -230,6 +242,12 @@ static void formatIRC(bool group, struct Event e) {
 		break; case Topic: {
 			printf("TOPIC %s :%s\r\n", e.context, e.message);
 		}
+		break; case Ban: {
+			printf("MODE %s +b %s\r\n", e.context, e.target);
+		}
+		break; case Unban: {
+			printf("MODE %s -b %s\r\n", e.context, e.target);
+		}
 	}
 }