diff -ur eggdrop1.6.15/doc/html/tcl-commands.html eggdrop1.6.15.new/doc/html/tcl-commands.html
--- eggdrop1.6.15/doc/html/tcl-commands.html	Sun May  4 18:05:32 2003
+++ eggdrop1.6.15.new/doc/html/tcl-commands.html	Sun May  4 21:06:59 2003
@@ -4361,6 +4361,20 @@
 
               <p><strong>Module:</strong> transfer</p>
             </li>
+
+            <li>
+              <p><strong>RBOT (stackable)</strong></p>
+
+              <p><strong>bind rbot &lt;flags&gt; &lt;key&gt; &lt;proc&gt;<br>
+              proc-name &lt;key&gt; &lt;text&gt; &lt;nick&gt;</strong></p>
+
+              <p><strong>Description:</strong> triggered by raw text recieved on
+              the botnet. Key is thebotnet command (i.e. zb for putallbots, c
+              for chat text) and may contain wildcards.  Text is the whole line
+              recieved.</p>
+
+              <p><strong>Module:</strong> core</p>
+            </li>
           </ol>
         </li>
 
@@ -4475,6 +4489,13 @@
                 <p>!nick! msg</p>
               </blockquote>
             </li>
+
+            <li>
+              <p><strong>RBOT</strong>
+              <p>Return 1 to ask the bot not to process the raw text. This can
+              break a botnet causing it to be desynced if you're not careful.
+              </p>
+            </li>
           </ol>
         </li>
       </ol>
diff -ur eggdrop1.6.15/doc/tcl-commands.doc eggdrop1.6.15.new/doc/tcl-commands.doc
--- eggdrop1.6.15/doc/tcl-commands.doc	Sun May  4 18:05:32 2003
+++ eggdrop1.6.15.new/doc/tcl-commands.doc	Sun May  4 21:08:09 2003
@@ -2093,6 +2093,16 @@
            because the data transfer stalled for some reason.
          Module: transfer
 
+|   (45) RBOT (stackable)
+|        bind rbot <flags> <key> <proc>
+|        proc-name <key> <text> <nick>
+|
+|        Description: triggered by raw text recieved on the botnet. Key is the
+|          botnet command (i.e. zb for putallbots, c for chat text) and may
+|          contain wildcards.  Text is the whole line recieved.
+|        Module: core
+
+
 
   (B) RETURN VALUES
 
@@ -2141,6 +2151,9 @@
     (11) WALL  Return 1 to make the command get logged like so:
            !nick! msg
 
+|   (12) RBOT  Return 1 to ask the bot not to process the raw text. This can
+|              break a botnet causing it to be desynced if you're not careful.
+
 *** CONTROL PROCEDURES ***
 
   Using the 'control' command, you can put a DCC connection (or outgoing
diff -ur eggdrop1.6.15/src/dcc.c eggdrop1.6.15.new/src/dcc.c
--- eggdrop1.6.15/src/dcc.c	Sun May  4 18:05:32 2003
+++ eggdrop1.6.15.new/src/dcc.c	Sun May  4 21:08:53 2003
@@ -406,6 +406,7 @@
   int f;
 
   strip_telnet(dcc[idx].sock, code, &i);
+  if (check_tcl_rbot(code, idx)) return;
   if (raw_log) {
     if (code[0] == 's')
       putlog(LOG_BOTSHARE, "*", "{%s} %s", dcc[idx].nick, code + 2);
diff -ur eggdrop1.6.15/src/mod/module.h eggdrop1.6.15.new/src/mod/module.h
--- eggdrop1.6.15/src/mod/module.h	Sun May  4 18:05:32 2003
+++ eggdrop1.6.15.new/src/mod/module.h	Sun May  4 21:10:32 2003
@@ -231,7 +231,7 @@
 #define max_dcc (*(int *)global[100])
 #define require_p (*(int *)global[101])
 #define ignore_time (*(int *)(global[102]))
-/* was use_console_r <Wcc[02/02/03]> */
+#define H_rbot (*(p_tcl_bind_list *)(global[103]))
 /* 104 - 107 */
 #define reserved_port_min (*(int *)(global[104]))
 #define reserved_port_max (*(int *)(global[105]))
diff -ur eggdrop1.6.15/src/modules.c eggdrop1.6.15.new/src/modules.c
--- eggdrop1.6.15/src/modules.c	Sun May  4 18:05:33 2003
+++ eggdrop1.6.15.new/src/modules.c	Sun May  4 21:12:21 2003
@@ -324,7 +324,7 @@
   (Function) & max_dcc,           /* int                                 */
   (Function) & require_p,         /* int                                 */
   (Function) & ignore_time,       /* int                                 */
-  (Function) 0,                   /* was use_console_r <Wcc[02/02/03]>   */
+  (Function) & H_rbot,            /* p_tcl_bind_list                     */
   /* 104 - 107 */
   (Function) & reserved_port_min,
   (Function) & reserved_port_max,
diff -ur eggdrop1.6.15/src/patch.h eggdrop1.6.15.new/src/patch.h
--- eggdrop1.6.15/src/patch.h	Sun May  4 18:08:01 2003
+++ eggdrop1.6.15.new/src/patch.h	Sun May  4 21:12:42 2003
@@ -36,7 +36,7 @@
  *
  *
  */
-/* PATCH GOES HERE */
+patch("rbot");
 /*
  *
  *
diff -ur eggdrop1.6.15/src/tclhash.c eggdrop1.6.15.new/src/tclhash.c
--- eggdrop1.6.15/src/tclhash.c	Sun May  4 18:05:33 2003
+++ eggdrop1.6.15.new/src/tclhash.c	Sun May  4 21:17:34 2003
@@ -42,6 +42,7 @@
 p_tcl_bind_list H_chat, H_act, H_bcst, H_chon, H_chof, H_load, H_unld, H_link,
                 H_disc, H_dcc, H_chjn, H_chpt, H_bot, H_time, H_nkch, H_away,
                 H_note, H_filt, H_event;
+p_tcl_bind_list H_rbot;
 
 static int builtin_2char();
 static int builtin_3char();
@@ -234,6 +235,7 @@
   H_away = add_bind_table("away", HT_STACKABLE, builtin_chat);
   H_act = add_bind_table("act", HT_STACKABLE, builtin_chat);
   H_event = add_bind_table("evnt", HT_STACKABLE, builtin_char);
+  H_rbot = add_bind_table("rbot", HT_STACKABLE, builtin_3char);
   add_builtins(H_dcc, C_dcc);
   Context;
 }
@@ -1169,3 +1171,21 @@
     nfree(l);
   }
 }
+
+int check_tcl_rbot(char *text, int idx)
+{
+  char key[11];
+  unsigned char ctr=0;
+  for (; ctr < 11; ctr++)
+    if (text[ctr] == ' ')
+    {
+      key[ctr] = 0;
+      break;
+    }
+    else key[ctr] = text[ctr];
+  Tcl_SetVar(interp, "_rbot1", key, 0);
+  Tcl_SetVar(interp, "_rbot2", text, 0);
+  Tcl_SetVar(interp, "_rbot3", dcc[idx].nick, 0);
+  return (check_tcl_bind(H_rbot, key, 0, " $_rbot1 $_rbot2 $_rbot3",
+    MATCH_MASK | BIND_STACKABLE | BIND_WANTRET) == BIND_EXEC_LOG);
+}
diff -ur eggdrop1.6.15/src/tclhash.h eggdrop1.6.15.new/src/tclhash.h
--- eggdrop1.6.15/src/tclhash.h	Sun May  4 18:05:33 2003
+++ eggdrop1.6.15.new/src/tclhash.h	Sun May  4 21:18:02 2003
@@ -115,6 +115,7 @@
 extern p_tcl_bind_list H_chat, H_act, H_bcst, H_chon, H_chof;
 extern p_tcl_bind_list H_load, H_unld, H_dcc, H_bot, H_link;
 extern p_tcl_bind_list H_away, H_nkch, H_filt, H_disc, H_event;
+extern p_tcl_bind_list H_rbot;
 
 #endif
 
