Send a WHO in response to NAMES to get usernames
Other than this slight hack, I think coloring by username rather than nick is a much better idea.
This commit is contained in:
		
							parent
							
								
									3b490562d4
								
							
						
					
					
						commit
						c609684d2b
					
				
							
								
								
									
										36
									
								
								chat.c
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								chat.c
									
									
									
									
									
								
							| @ -294,14 +294,38 @@ static void handleTopic(char *prefix, char *params) { | ||||
| 	uiTopic(topic); | ||||
| } | ||||
| 
 | ||||
| static void handle353(char *prefix, char *params) { | ||||
| static void handle366(char *prefix, char *params) { | ||||
| 	(void)prefix; | ||||
| 	shift(¶ms); | ||||
| 	char *chan = shift(¶ms); | ||||
| 	clientFmt("WHO %s\r\n", chan); | ||||
| } | ||||
| 
 | ||||
| static char whoBuf[4096]; | ||||
| static size_t whoLen; | ||||
| static void handle352(char *prefix, char *params) { | ||||
| 	(void)prefix; | ||||
| 	shift(¶ms); | ||||
| 	shift(¶ms); | ||||
| 	char *user = shift(¶ms); | ||||
| 	shift(¶ms); | ||||
| 	shift(¶ms); | ||||
| 	char *nick = shift(¶ms); | ||||
| 	whoLen += snprintf( | ||||
| 		&whoBuf[whoLen], sizeof(whoBuf) - whoLen, | ||||
| 		"%s\3%d%s\3", | ||||
| 		(whoLen ? ", " : ""), color(user), nick | ||||
| 	); | ||||
| } | ||||
| static void handle315(char *prefix, char *params) { | ||||
| 	(void)prefix; | ||||
| 	shift(¶ms); | ||||
| 	char *chan = shift(¶ms); | ||||
| 	char *names = shift(¶ms); | ||||
| 	// TODO: Do a WHO instead to get usernames
 | ||||
| 	uiFmt("In %s are %s", chan, names); | ||||
| 	whoLen = 0; | ||||
| 	uiFmt( | ||||
| 		"In \3%d%s\3 are %s", | ||||
| 		color(chan), chan, whoBuf | ||||
| 	); | ||||
| } | ||||
| 
 | ||||
| static void handlePrivmsg(char *prefix, char *params) { | ||||
| @ -324,8 +348,10 @@ static const struct { | ||||
| 	Handler handler; | ||||
| } HANDLERS[] = { | ||||
| 	{ "001", handle001 }, | ||||
| 	{ "315", handle315 }, | ||||
| 	{ "332", handle332 }, | ||||
| 	{ "353", handle353 }, | ||||
| 	{ "352", handle352 }, | ||||
| 	{ "366", handle366 }, | ||||
| 	{ "JOIN", handleJoin }, | ||||
| 	{ "NOTICE", handleNotice }, | ||||
| 	{ "PART", handlePart }, | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user