diff -ur eggdrop1.6.13.long/src/botcmd.c eggdrop1.6.13.long.new/src/botcmd.c --- eggdrop1.6.13.long/src/botcmd.c Sat Nov 23 01:45:24 2002 +++ eggdrop1.6.13.long.new/src/botcmd.c Mon Dec 23 20:52:31 2002 @@ -581,7 +581,7 @@ rfrom = from; putlog(LOG_CMDS, "*", "#%s# unlink %s (%s)", rfrom, undes, par[0] ? par : "No reason"); - i = botunlink(-3, undes, par[0] ? par : NULL); + i = botunlink(-3, undes, par[0] ? par : NULL, rfrom); if (i == 1) { p = strchr(from, '@'); if (p) { diff -ur eggdrop1.6.13.long/src/botnet.c eggdrop1.6.13.long.new/src/botnet.c --- eggdrop1.6.13.long/src/botnet.c Thu Aug 8 16:49:32 2002 +++ eggdrop1.6.13.long.new/src/botnet.c Mon Dec 23 21:01:08 2002 @@ -864,7 +864,7 @@ /* Break link with a tandembot */ -int botunlink(int idx, char *nick, char *reason) +int botunlink(int idx, char *nick, char *reason, char *from) { char s[20]; register int i; @@ -908,15 +908,16 @@ bots = bots_in_subtree(bot); users = users_in_subtree(bot); if (reason && reason[0]) { - simple_sprintf(s, "%s %s (%s) (lost %d bot%s and %d user%s)", - BOT_UNLINKEDFROM, dcc[i].nick, reason, bots, + simple_sprintf(s, "%s %s (%s (%s)) (lost %d bot%s and %d user%s)", + BOT_UNLINKEDFROM, dcc[i].nick, reason, from, bots, (bots != 1) ? "s" : "", users, (users != 1) ? "s" : ""); dprintf(i, "bye %s\n", reason); } else { - simple_sprintf(s, "%s %s (lost %d bot%s and %d user%s)", - BOT_UNLINKEDFROM, dcc[i].nick, bots, (bots != 1) ? - "s" : "", users, (users != 1) ? "s" : ""); + simple_sprintf(s, "%s %s (%s) (lost %d bot%s and %d user%s)", + BOT_UNLINKEDFROM, dcc[i].nick, from, bots, + (bots != 1) ? "s" : "", users, + (users != 1) ? "s" : ""); dprintf(i, "bye No reason\n"); } chatout("*** %s\n", s); diff -ur eggdrop1.6.13.long/src/cmds.c eggdrop1.6.13.long.new/src/cmds.c --- eggdrop1.6.13.long/src/cmds.c Tue Sep 10 22:14:44 2002 +++ eggdrop1.6.13.long.new/src/cmds.c Mon Dec 23 20:53:44 2002 @@ -1163,14 +1163,14 @@ bot = newsplit(&par); i = nextbot(bot); if (i < 0) { - botunlink(idx, bot, par); + botunlink(idx, bot, par, dcc[idx].nick); return; } /* If we're directly connected to that bot, just do it * (is nike gunna sue?) */ if (!egg_strcasecmp(dcc[i].nick, bot)) - botunlink(idx, bot, par); + botunlink(idx, bot, par, dcc[i].nick); else { char x[40]; diff -ur eggdrop1.6.13.long/src/patch.h eggdrop1.6.13.long.new/src/patch.h --- eggdrop1.6.13.long/src/patch.h Sat Nov 23 01:47:08 2002 +++ eggdrop1.6.13.long.new/src/patch.h Mon Dec 23 21:07:04 2002 @@ -41,7 +41,7 @@ * * */ -/* PATCH GOES HERE */ +patch("unlinkedby"); /* * * diff -ur eggdrop1.6.13.long/src/proto.h eggdrop1.6.13.long.new/src/proto.h --- eggdrop1.6.13.long/src/proto.h Tue Jan 1 22:46:36 2002 +++ eggdrop1.6.13.long.new/src/proto.h Mon Dec 23 20:54:36 2002 @@ -69,7 +69,7 @@ void tell_bots(int); void tell_bottree(int, int); int botlink(char *, int, char *); -int botunlink(int, char *, char *); +int botunlink(int, char *, char *, char *); void dump_links(int); void addbot(char *, char *, char *, char, int); void updatebot(int, char *, char, int); diff -ur eggdrop1.6.13.long/src/tcldcc.c eggdrop1.6.13.long.new/src/tcldcc.c --- eggdrop1.6.13.long/src/tcldcc.c Thu Nov 21 18:53:08 2002 +++ eggdrop1.6.13.long.new/src/tcldcc.c Mon Dec 23 21:02:26 2002 @@ -808,7 +808,7 @@ else { x = 1; if (!egg_strcasecmp(bot, dcc[i].nick)) - x = botunlink(-2, bot, argv[2]); + x = botunlink(-2, bot, argv[2], botnetnick); else botnet_send_unlink(i, botnetnick, lastbot(bot), bot, argv[2]); }