about summary refs log tree commit diff
path: root/handle.c
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2018-08-14 21:26:27 -0400
committerJune McEnroe <june@causal.agency>2018-08-14 21:26:27 -0400
commit7082820299742c96e14a5065d11f7a106f566185 (patch)
tree54f7bb31dd8f51ecfa147d6728c8b457dd26cfba /handle.c
parentClean up termEvent state machine (diff)
downloadcatgirl-7082820299742c96e14a5065d11f7a106f566185.tar.gz
catgirl-7082820299742c96e14a5065d11f7a106f566185.zip
Detect pings in ACTIONs
Diffstat (limited to '')
-rw-r--r--handle.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/handle.c b/handle.c
index c93522e..adc8f59 100644
--- a/handle.c
+++ b/handle.c
@@ -93,7 +93,8 @@ static bool isSelf(const char *nick, const char *user) {
 	return false;
 }
 
-static bool isPing(const char *mesg) {
+static bool isPing(const char *nick, const char *user, const char *mesg) {
+	if (isSelf(nick, user)) return false;
 	size_t len = strlen(self.nick);
 	const char *match = mesg;
 	while (NULL != (match = strcasestr(match, self.nick))) {
@@ -297,9 +298,10 @@ static void handleCTCP(struct Tag tag, char *nick, char *user, char *mesg) {
 	if (strcmp(ctcp, "ACTION")) return;
 	if (!isSelf(nick, user)) tabTouch(tag, nick);
 	urlScan(tag, params);
+	bool ping = isPing(nick, user, params);
 	uiFmt(
-		tag, "\3%d* %s\3 %s",
-		color(user), nick, params
+		tag, "%c\3%d* %s\17 %s",
+		ping["\17\26"], color(user), nick, params
 	);
 }
 
@@ -314,7 +316,7 @@ static void handlePrivmsg(char *prefix, char *params) {
 	if (!isSelf(nick, user)) tabTouch(tag, nick);
 	urlScan(tag, mesg);
 	bool self = isSelf(nick, user);
-	bool ping = !self && isPing(mesg);
+	bool ping = isPing(nick, user, mesg);
 	uiFmt(
 		tag, "%c\3%d%c%s%c\17 %s",
 		ping["\17\26"], color(user), self["<("], nick, self[">)"], mesg
&follow=1'>Add The Book of PhoenixJune McEnroe 2019-10-03Add two Kim Petras songsJune McEnroe 2019-10-02Update neovim 0.4.2June McEnroe Finally a release with my man mode fix... Meanwhile neovim itself has probably gotten worse. 2019-10-02Claim to be curl(1) in titleJune McEnroe IMDB serves a page to our dumb User-Agent whose <title> is past the 8K boundary but serves something normal to curl(1). 2019-10-02Add The Red Threads of FortuneJune McEnroe 2019-09-28Add The Black Tides of HeavenJune McEnroe 2019-09-27Fail on HTTP failure status in titleJune McEnroe 2019-09-23Add Trail of LightningJune McEnroe 2019-09-22Revert "Enable cookies in title"June McEnroe This reverts commit 279111dda15dd9170e11b9688eb973f2af2e6300. 2019-09-20Enable cookies in titleJune McEnroe Perhaps this will make it less suspicious to Google. Who knows. 2019-09-16Use sensitivity aliases in TF2June McEnroe 2019-09-16Add The Just CityJune McEnroe 2019-09-12Only GET the final redirect locationJune McEnroe 2019-09-12Consume entire bodyJune McEnroe Aborting the request and leaving data around may be causing intermittent errors. Just discard the rest of the data. 2019-09-10Add title -v flagJune McEnroe 2019-09-10Use curl error bufferJune McEnroe 2019-09-10Set Accept-Encoding in titleJune McEnroe Because apparently it's fine for servers to respond with Content-Encoding you didn't ask for, and curl won't decode it if you didn't ask for it. 2019-09-08Set title User-AgentJune McEnroe Some things don't like you if you don't send one. 2019-09-07Add -x flag to titleJune McEnroe 2019-09-07Ignore SIGPIPE in relayJune McEnroe Allows restarting consumers safely. 2019-09-07Add A Memory Called EmpireJune McEnroe 2019-09-05Handle lack of Content-TypeJune McEnroe 2019-09-05Use CURLINFO_CONTENT_TYPEJune McEnroe Oops, didn't see this. 2019-09-05Decode entities in titlesJune McEnroe 2019-09-05Print title as soon as it's availableJune McEnroe 2019-09-05Use CURL_PREFIX to set flagsJune McEnroe 2019-09-05Add titleJune McEnroe 2019-09-04Add Avorter n'est pas tuerJune McEnroe 2019-08-29Unset executable on shell scriptsJune McEnroe 2019-08-29Add long-missing setopt to bin.7June McEnroe 2019-08-29Add editJune McEnroe