+ win = Windows_GetByNameOrCreate(Server, Dest);
+ }
+
+ // Detect CTCP
+ if( Message[0] == '\1' && Message[strlen(Message)-1] == '\1' )
+ {
+ Message += 1;
+ // message is a CTCP command
+ if( strcmp(Message, "VERSION\1") == 0 )
+ {
+ // Put a message in the status window, and reply
+ Window_AppendMessage(WINDOW_STATUS, MSG_CLASS_CLIENT, Server->Name, "CTCP VERSION request from %s", Src);
+ // - Always reply via NOTICE
+ Server_SendCommand(Server, "NOTICE %s :\1VERSION %s\1", Src, gsVersionResponse);
+ }
+ else if( strncmp(Message, "ACTION ", 7) == 0 )
+ {
+ Message += 7;
+ // Put a message in the status window, and reply
+ Window_AppendMessage(win, MSG_CLASS_ACTION, Src, "%.*s", (int)(strlen(Message)-1), Message);
+ }
+ else
+ {
+ Window_AppendMessage(WINDOW_STATUS, MSG_CLASS_CLIENT, Server->Name, "Unknown CTCP '%s' from %s",
+ Message, Src);
+ }
+ }
+ else
+ {
+ Window_AppendMessage(win, MSG_CLASS_MESSAGE, Src, "%s", Message);