ircII_hack.doc????????Z6Z6ZAdding the NEWUSER command to your ircII client =============================================== Applying these changes to the source code for your ircII client and recompiling gives you a new ircII command: /NEWUSER. This new command can be used as follows: * /NEWUSER [new_IRCNAME] * is a new username to use and is required * [new_IRCNAME] is a new IRCNAME string to use and is optional * This will disconnect you from your server and reconnect using * the new information given. You will rejoin all channel you * are currently on and keep your current nickname. The effect is basically changing your username/IRCname on the fly. Although you are disconnected from your server and reconnected, the ircII client is never exited, thus keeping all your state information and aliases intact. This is ideal for bots that wish to be REALLY obnoxious in ban evasion. ;) As this is now a new command in ircII, it can be used in scripts. Be aware that the reconnect associated with the NEWUSER command takes time, so TIMER any commands that must immediately follow the NEWUSER. For example... ban evasion made easy (but beware infinite reconnects when your site is banned): on ^474 * { echo *** Banned from channel $1 if ($N == [AnnMurray]) { nick $randomstring join $1 } { nick AnnMurray newuser $randomstring timer 5 join $1 } } Or just to be annoying... a /BE alias that will assume a person's username and IRCNAME: alias be { ^on ^311 * { ^on 311 -* newuser $2 $5- } whois $0 } Now... in order to add this command to your ircII client, get the latest client source (or whatever client source you are using). Cd into the source directory and edit the file "edit.c". Make the following changes: Locate the line which reads: extern void server(); Insert the following line after it: static void newuser(); This pre-defines a new function "newuser()" that we'll add later. Now, locate the line which reads: "NAMES", "NAMES", funny_stuff, 0, Insert the following line after it: "NEWUSER", NULL, newuser, 0, This adds a new command NEWUSER to the list of valid IRCII commands, and tells it to call our new function newuser() to perform it. Finally, go the bottom of the file and add the following code as our new function "newuser()": /* * newuser: the /NEWUSER command. Added by Hendrix * Parameters as follows: * /NEWUSER [new_IRCNAME] * is a new username to use and is required * [new_IRCNAME] is a new IRCNAME string to use and is optional * This will disconnect you from your server and reconnect using * the new information given. You will rejoin all channels you * are currently on and keep your current nickname. */ static void newuser(command, args) char *command, *args; { char *newuname; if (newuname = next_arg(args, &args)) { strmcpy(username, newuname, NAME_LEN); if (*args) strmcpy(realname, args, REALNAME_LEN); say("Reconnecting to server..."); close_server(from_server); if (connect_to_server(server_list[from_server].name, server_list[from_server].port, primary_server) != -1) { change_server_channels(primary_server, from_server); set_window_server(-1, from_server, 1); } else say("Unable to reconnect. Use /SERVER to connect."); } else say("You must specify a username and, optionally, an IRCNAME"); } Et voila... You now have the NEWUSER command added to your ircII client. Don't forget to recompile the source using "make" (duh... hey, I forget sometimes!) Then use it to your heart's content. X-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-X Another file downloaded from: The NIRVANAnet(tm) Seven & the Temple of the Screaming Electron Taipan Enigma 510/935-5845 Burn This Flag Zardoz 408/363-9766 realitycheck Poindexter Fortran 510/527-1662 Lies Unlimited Mick Freen 801/278-2699 The New Dork Sublime Biffnix 415/864-DORK The Shrine Rif Raf 206/794-6674 Planet Mirth Simon Jester 510/786-6560 "Raw Data for Raw Nerves" X-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-X