[project @ 2005-06-28 03:16:45 by unknown_lamer]
[clinton/bobotpp.git] / source / Commands.C
index fcd2d82..ba538bb 100644 (file)
@@ -20,6 +20,7 @@
 #include "Message.H"
 #include "Commands.H"
 #include "Utils.H"
+#include "StringTokenizer.H"
 
 
 #define CHECK_CONNECTION if (!bot->serverConnection) return NotConnected
@@ -488,7 +489,13 @@ Commands::Msg(Bot *bot, String who, String message)
       return EmptyMessage;
     }
 
-  QUEUE->sendPrivmsg(who, message);
+  // Send multi-line messages as seperate privmsgs
+  StringTokenizer st_message (message);
+
+  while (st_message.more_tokens_p ('\n'))
+    {
+      QUEUE->sendPrivmsg(who, st_message.next_token ('\n'));
+    }
 
   return Ok;
 }
@@ -515,7 +522,7 @@ Commands::Nick(Bot *bot, String nick)
 {
   CHECK_CONNECTION;
 
-  if (nick == "" || !Utils::valid_nickname_p(nick))
+  if (nick == "" || !Utils::valid_nickname_p(bot, nick))
     return InvalidNick(nick);
   
   bot->wantedNickName = nick;
@@ -538,7 +545,13 @@ Commands::Notice(Bot *bot, String who, String message)
   if (message == "")
     return EmptyMessage;
 
-  QUEUE->sendNotice(who, message);
+  // Send multiple lines as multiple notices
+  StringTokenizer st_message (message);
+
+  while (st_message.more_tokens_p ('\n'))
+    {
+      QUEUE->sendNotice(who, st_message.next_token ('\n'));
+    }
 
   return Ok;
 }