summary refs log tree commit diff
path: root/handle.c
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-07-09 22:43:35 -0400
committerJune McEnroe <june@causal.agency>2020-07-09 22:43:35 -0400
commite6db22d2bb90698b9156537e00f4c866a6328052 (patch)
tree7c152e74d0d392f1a993f223b35046b999859160 /handle.c
parentAdd link to "IRC Suite" post in README (diff)
downloadcatgirl-e6db22d2bb90698b9156537e00f4c866a6328052.tar.gz
catgirl-e6db22d2bb90698b9156537e00f4c866a6328052.zip
Don't scan ignored messages for URLs
Diffstat (limited to '')
-rw-r--r--handle.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/handle.c b/handle.c
index 4383cb0..a7a44b8 100644
--- a/handle.c
+++ b/handle.c
@@ -355,9 +355,10 @@ static void handlePart(struct Message *msg) {
 		completeClear(id);
 	}
 	completeRemove(id, msg->nick);
-	urlScan(id, msg->nick, msg->params[1]);
+	enum Heat heat = ignoreCheck(Cold, id, msg);
+	if (heat > Ice) urlScan(id, msg->nick, msg->params[1]);
 	uiFormat(
-		id, ignoreCheck(Cold, id, msg), tagTime(msg),
+		id, heat, tagTime(msg),
 		"\3%02d%s\3\tleaves \3%02d%s\3%s%s",
 		hash(msg->user), msg->nick, hash(msg->params[0]), msg->params[0],
 		(msg->params[1] ? ": " : ""), (msg->params[1] ?: "")
@@ -420,9 +421,10 @@ static void handleNick(struct Message *msg) {
 static void handleQuit(struct Message *msg) {
 	require(msg, true, 0);
 	for (uint id; (id = completeID(msg->nick));) {
-		urlScan(id, msg->nick, msg->params[0]);
+		enum Heat heat = ignoreCheck(Cold, id, msg);
+		if (heat > Ice) urlScan(id, msg->nick, msg->params[0]);
 		uiFormat(
-			id, ignoreCheck(Cold, id, msg), tagTime(msg),
+			id, heat, tagTime(msg),
 			"\3%02d%s\3\tleaves%s%s",
 			hash(msg->user), msg->nick,
 			(msg->params[0] ? ": " : ""), (msg->params[0] ?: "")
@@ -1116,8 +1118,8 @@ static void handlePrivmsg(struct Message *msg) {
 	bool action = isAction(msg);
 	bool mention = !mine && isMention(msg);
 	if (!notice && !mine) completeTouch(id, msg->nick, hash(msg->user));
-	urlScan(id, msg->nick, msg->params[1]);
 	enum Heat heat = ignoreCheck((mention || query ? Hot : Warm), id, msg);
+	if (heat > Ice) urlScan(id, msg->nick, msg->params[1]);
 	if (notice) {
 		if (id != Network) {
 			logFormat(id, tagTime(msg), "-%s- %s", msg->nick, msg->params[1]);