NEWNOTE : not as important as before! Almost everything can be edited and saving through x-chat with various / commands. Try /xdcc help to get you started... OLDNOTE : Before you use ANY version of the script, make SURE you have edited the variables at the start of it, under "defaults not in config file". Some of them are VERY important! Changelog for XDCC'n'Stuff : v 1.3.5 - fixed bug where friend auto dcc accept would barf on a quote/space dcc send - removed some annoying debugging info ;P - small patch from Peter Zelezny to help xdcc work under windows v 1.3.4 - fixed stealver - incremented version of script v 1.3.3 - /ver off now turns off fake version replies too - /fig now allows bold/colour/etc - /addf and /editf scan the channel after changes are made, and enforce the changes - updates to support xchat 1.8.5's new serverlist format v 1.3.2 - the script now disables xchat's built in flood protection, since the two conflict... not to mention its much more advanced. - added clone check for users joining the channel (not when you join). Yes, you can turn off the messages if you don't want them. Just set clone detect to 0. - added a /mcom command. Check it out! v 1.3.1 - you can now use /setaway nick * to append text to whatever nick you have when you set yourself away - setaway now lets you turn nick changing off now (bugfix) - added the /specs command... will probably only function right under linux, and with gtk xchat - increased the version to reflect the version ;) - fixed a small prob with /stealver.. it now actually works v 1.3.0 - finally found time to get xchat 1.7.5 working on my system. Changed many things to compensate. - added some checks to make sure that /who on join is on, and that perl debugging is off for the average user v 1.2.5 - added a "devoice" flag.. and associated fluff v 1.2.4 - fixed tons of stuff - fixed a bug reported by madmax that could cause the script / xchat to die v 1.2.3 - lame bug in xdcc gone. xdcc works again, slots need work though - added the /publist command, so that you can choose between notice and privmsg for your public xdcc offering - added !list as a channel command to display a private xdcc notice - revamped the /stealver command, it needs a new save file. Now you can have multiple stolen version replies stored up, or add your own! Lots of fun for that whole family, but keep grandma away! - added time and per variables to /stealver. Now you can set your version replies to stay the same for TIME seconds, and you can make it persistant, so that if you have repeated version requests in TIME seconds, it will extend the time of the same version respond by TIME seconds. Bahaha, make sense of that! ;) - improved my lame friends scan when joining a channel.. and acheived a 100x speed increase ;) Breath easy, oh joiner of large channels. Hmm, now to optimize some more ;) - optimized some of the part / quit / kick routine... - not a lot more to be done (well, ok there is some) when it comes to optimization. However, if you have a p90, and you have the seenlist on, expect delays if you have 5000 or 10000 users in it. After all, it has to parse the entire seenlist to update the seen info. On a slow machine, your options are to turn off the seenlist, or to change the settings so that seen nicks are deleted relatively soon, keeping the list shorter. A good option is to shorten the time the list waits to delete old nicks. v 1.2.2 - ugh.. fixed a lame bug with /url v 1.2.1 - fixes for some changes to perl.c - removed the /list force option, since they GUI has changed - other stuff - this is a "seems to work ok with 1.5.7" release - there is some minor debugging in place, ignore it please - changes to perl.c are supposed to fix the long time standing bug where xchat can crash with large channel lists and perl. Thanks to whomever submitted the patch for xchat, and it _seems_ to work ok so far, but of course time and user testing will be the ultimate test - fixed a bug with the away command - fixed problems with the friendlist and no chompin' v 1.2.0 - fixes for xchat 1.5.0 devel series. Should work ok. 1.1.4 stays as it sits, its ok for now, although the script won't autoload under 1.5.0 v 1.1.4 - fixed up the "unbanning a ban and rebanning your ban" code a bit.. before it could get confused when checking to see what bans it had attempted to remove before (this check was in place so that bots that want to force a ban on the channel, and reban the unbanned ban before you can reban your ban, won't cause a loop problem). Now ununsual bans are matching correcly, and repetitive banning / unbanning / bot wars under rare circumstances should be fixed - rewrote the xdcc function a little bit. You can now specify packs in a new way, which prevents leeching and so on. Its also VERY helpful if you have large packs (for example, a pack with 20 files or so). Anyhow, use the /slots command to change the options. Basically, a command like "/slots 10:2" would set your slots to 10 total available, but a max of 2 slots / user. If you don't like this restriction, just set /slots to 10:10, for example, and any user will have the full amount of slots available to them.. more xdcc changes / fixes soon - added "send" to the /xdcc command. With this, you can send packs to users you want to, automatically.. eg : "/xdcc send dude 3 4 2". - fixed up the output with certain commands, and touched up the xdcc help a wee bit - other things I did ages ago and didn't bother to put here ;) v 1.1.3 - removed some debugging info I left in for autoconnect - added the /mmode command, and /mmsg command. Kind of strange, the massmode command, best you look at the help when you do /mmode with no args, to figure it out. The /mmsg command is just there, do what you will with it ;) - fixed up the dcc queuing of files a bit, so that it won't message you and the receiver 100 times if 100 files are placed in queue, but it messages you per pack that has files placed in queue. - I am receiving all the emails about changes, I will be implementing them as time permits Sorry I haven't been responding, but time is tight right now. Thanks for all the suggestions and I will do what I can to add them - about those emails ;) Ok, using the /grabnick function, you can now set the script up to try and grab a nick if you couldn't get it when you first joined the server. I'm not entirely sure if that's what people wanted, but with it set up this way, if you are joining a server and your nick is in use, it will grab if for you when its free.. any other method would make it difficult to determine if you WANTED to change your nick with /nick, or if you were forced to.. sort of. Heh. Anyhow, the other option is /autocycle, and when its on, the script will automatically cycle a channel to regain ops, if you are the only user on it. v 1.1.2 - changed the flood protection so its not using the script any more. It will still use it for users with the "s" flag in your userlist, but I'll probably remove that. - numerous bugfixes from all over the place that happened here and there as I noticed them - several people have emailed me saying that this script crashes xchat on large channels. Try using a newer (or newest) version of xchat if you have that problem. It has something to do with xchat's perl routines, and there is very little I can do about it. A small script did the same thing, written entirely by someone else, and by no means should have caused any problems. I believe zed and others that work on xchat have attempted to fix this, but I'm not sure what their progress is, or if they've bothered to do so. Anyhow, good luck! - added a /setseen config option for the seenlist, so you can control how long nicks will stay in the nicklist. Currently it defaults to 30 days, but if you have a small channel, or like a LARGE (read slow_you_down) seenlist, try longer! - added another /setseen config option. This one limits the number of responses to a seen request. So, if 20 nicks match pete, only the x most recent will be shown - seen hostmasks are now much more liberal. Before joe@thing.hope.3ad.thing.home.com wouldn't match joe@things2.hope2.3aa.otherthing.home.com. It now does, since some ISP's have widely varying hostnames, and most ISP's do own a level 2 domain name. - duh.. when using /ban the script didn't deop people first :P - now mode protection seems to be working ok, a few typo's prevented it from working perfectly - fixed a typo in the setseen options.. now you can set your seen channel list, and know it ;) v 1.1.1 - added del and time to the /page command.. now you can have paging turn off or on automatically at whatever time you want - added a /msg to users when they unban a k user, and you are kicking them (or whatever) automatically because of it. - now when a person joins the channel, and they match a k user and an o|f|p user, the user is treated as a k user - moved most of the mode change / etc hostmask detection routines to use the new xchat perl commands - when using the "autoconnect" function, it now tries to see if the server you are on matches in your serverlist with a server in a grouplist, that you have set as your auto connect group. It also checks to see if the name of the server you are on, matches what you set for the autoconnect group list. Therefore : - you want to connect to galaxynet, so you set your /autoconnect to "galaxynet". It will match the server : atlanta.ga.us.galaxynet.org = with *galaxynet* in the name If a galaxynet server was called "outerspace.org" and you are connected to it, but you have added it to your serverlist under the group "galaxynet" it will match galaxynet that way, to the groupname. Have fun with it :P - moved some ignore functions from the script to xchat's built in ignore - moved the script's ignore function from /ignore to /setignore (mostly redundant) - moved more of the nicklist to xchat's internal list (script should speed up now on some channel actions) - moved seen list, ikick, etc over to new internal nicklist... damn near done - fixed the seen kick option so that it doesn't kick for whitespaces, only if nicks are > $nicklength, or more than one word is used - arg.. when moving to the new server list (who knows how long ago), I didn't update the kline detection code, which caused perl to freeze xchat... its now fixed, but how come all these people downloading the script don't mention it :P - hmm, ok, experimental, if the server gives an error message (ERROR: closing link ...) the script will try another server in your autoconnect servers - if you are trying to connect to any server, and klined or whatever, the script will check to see if you are actually trying to connect to an autoconnect server group, if not it will just ignore the message (prevents a server skipping groups) - fixed mode changes / kicks to realise that if I you get kicked, you really aren't op no matter what xchat says (not a bug in xchat, just a result of the way perl.c works...) - moving towards release for 1.2.0 xchat (damn zed released it too soon, its all his fault bahaha :P) v 1.1.0 - now /ban uses the new built in user_list function provided by xchat... more to follow. Once the conversion is done, channel parts/joins etc should take much less script time - fixed a small bug in the seen matching routine that would cause some hosts to not match.. - added the ability to manually type in your own fake version response - removed the lame "loaded" from the random /url ... - added /ban to the /xdcc help menu, it wasn't there before - added the ability to put a kick reason in when you use /ban - added a hostmask match to the banmasks you are banning, it now bans everyone matching them. /ban is really powerful now! NOTE : enter as many nicks or hostmasks as you want to ban, but as soon as a nick isn't found, it assumes it, and the rest of the non hostmasks in the /ban argument is the kick reason... live with it ;) - removed /cycle command, xchat now has a built in version, just as good - changed the serverlist loading so that its compatible with version 1.1.3 and greater of xchat - fixed the problem with xchat and xdcc'n'stuff both trying to grab a wholist at the same time... no big deal, soon xchat will handle all the user info anyhow, this is just to hold over until the script is updated enough to do it. v1.0 - move to 1.0 version, and split of the xdcc sources. xdcc 1.0 and bugfixes will be for xchat 1.0 users, and xdcc 1.1 and greater will mirror the xchat 1.1.0 changes and take advantage of the improved perl support. v0.88 - cosmetic improvement... slots free is now slot free when slots free = 1 - general help/doc improvements - mass improvements to the /away log, feature, etc. Now is aware of multiple channels, and has a random saying (by reading .xdcc/awayreasons.. see a file on the web page) sorry, no auto away, because the script can't tell how long the client has been without input! - you can sync /away to work on all servers at the same time with the /setaway sync feature - now your away message includes away time in years, days, hours, minutes, seconds - added a /stealver command.. try it out - some cosmetic fixes too !seen output, and repairs to replies when the seen request is bad... - added a queue output to help prevent flood offs. Anything the script sends to the server in the form of text is now output at a changable rate described with a /rawout command. The script defaults to 2, but you may find a higher amount is ok on your regular server... but take into account that if you are typing while xdcc lists are going out, you could overrun! A setting of 2 seems good enough to prevent this under normal circumstances v0.87 - fixed a retarded bug caused by a misplaced bracket... the result was a /setseen off would turn off xdcc, sound for privmsgs, away logging, etc ;) v0.86 - fixed a small typo in the /setseen help - auto dcc get should work properly now.. thanks to an improvement in xchat. I don't force a version upgrade on anyone, since the new version is backwards compat with the old for /dcc get .. the newer versions of xchat add /dcc get .. improving autogets.. and the script is ready for your next upgrade ;) - added packs security on xdcc lists now. You can use /xdcc packs to turn it on. Also you can turn on or off listing packs that are friends only with /dpack. This lets you have a packlist that is mixed and mingled.. strange people can download from you, but you can also have private files on the same list. As a default, files names are always hidden if you don't have access to them, unless you do a plist, in which case it masks it out (you'll see ;) **NOTE : /addp command set has changed!! Read /xdcc help or /addp - a MASSIVE speed up in parsing and updating the seen list on parts, kicks and quits.. - working on the seenlist routing uncovered massive, MASSIVE bugs.. fixed in the process ;) - worked on some /seen and !seen stuff... needs more work though ...bah - !seen now seems to be working aok - extended the length of time the mass flood protection kicks in for to 2 minutes - nicklist seems to go to 0 in some weird circumstances... added a routing to refetch the userlist when it happens.. its a patch, not a cure - small bug in the timed command section that could kill you - bah.. I wasn't paying attention when I was working on the mass flood protection.. it should work now :P v0.85 - fixed a small prob with /unban and some other script functions - improved /ban so you can ban a mix and match of hosts and nicks on the channel.. eg /ban bob tim *!*@*.it.com joe *sdf@*com will ban nick bob, time, joe and the hostmasks seen above.. in addition /ban bob tim *!*@*.it.com joe *sdf@*com /w does a wideban on the nicks listed... - improved (again bugfixed :P) the mode and kick handling routines.. strange things should hopefully go away now ;) - repaired a lame bug in the +b mode parser thingy - to prevent constant fighting with other scripts / bots, the script will now keep a log of the last 15 bans it tried to remove from the banlist, to place a ban when the banlist is full. If you are with me so far, you've experienced it ;) Anyhow, now it will try NEW bans each time, to make sure that it doesn't just keep unbanning the same ban, only to have it rebanned by another script or bot again and again... this CAN go on for hours, so its a good thing to take this approach. If there are more than 15 bans that are protected on the userlist, well, what can you do? v0.84 - fixed a bug with revenge kick hostmasks - sometimes the script would incorrectly beleive a hostname was a ip - cleaned up some code so the script will work with xchat's perl interface - cleaned up the protection / mode changes a little - ignores weren't adding the right host... they do now... - added mass flood protection.. it may be quite useless because it hasn't been tested properly yet.. try /flood and config it.. basically if you get X ctcp's in under X seconds, its considered a mass host flood, and it ignores everything but channel messages and +f users. If you keep the numbers right (eg 10 ctcp's in 5 seconds) it is almost impossible for it to be triggered by a single user. v0.83 - changed /setseen a bit. You can now use /setseen on or off to turn channel !seen responses on or off, but you use /setseen store to turn off the storing of seen data, such as part, quit or kick messages that the script receives. This way, you can use /seen as your own private seen database, without channel !seen messages working - seen responses have been improved. Duplicate !seen responses are filtered out, and are output to the server in a manner to prevent flooding - some cleanup on the quit code that should reduce cpu usage - added /seen compare command. This is turned on by default. When you have "display all matches" set on, you can often get users that have more than one ISP, or have an ISP that can be impossible to predict the ips' for. I've seen users with *!*@206.53.23.22 and *!*@206.53.29.43 both from the same ISP. Some of these ISP's even own 6 or 7 C blocks, so its really hard to do matching. Also, while you can predict that a hostname with *!*@23423pa34.wash9.ssdf.it.net will change at *!*@*.wash*.ssdf.it.net, you can't tell if *!*@blueface.ff.it.net and *!*@redface.fa.it.net are the same. Matching with *!*@*.ff.it.net is customary, but trying to match a long hostname with 5 or 6 .'s in it, leaves one unsure what to match, and what not to. You don't want users from seattle and florida matching because you wildcard *@*.psi.net. Also, some users have more than one ISP. Finally, the big problem is, its not realistic to do host lookups on all the hostnames, and try to match users with ip and identical usernames to see if they are the same. Of course, this is going a little far with a seen script, so you have two ways to configure things when using the seen script in a "display all matches" mode. If you do a /seen compare, the script will find the NEWEST match for a nickname!username@* #channel.. so that there will be no duplicate responses for seen users on the same channel, with identical usernames and nicks. This seems to work quite well, but I left the option to turn it of, if you like to see ALL hostnames that a username/nick combo appeared on your channel with. - added a seenlist sorting routine. This sorts the seenlist with newest seen records first, and results in lower cpu time. Every 12 hours, or whenever you reload the script, it will sort the seenlist. Any complaints? Let me know... - when doing /plist, if you don't enter a channel it now just lists to the current one - added part, quit and invite sounds to /sound .. anyone have any sounds to contribute for the distro? Also, anyone want to do a manual? Oh, btw I've resampled the page.wav, as I noticed some garbage if used with ESDplay.. its nice and crisp now, and doesn't go BSDFOSI at the next (white noise ;).. get the new one from the web page. - fixed up mode changes a bit, improved them for multichannel/server usage - fixed a prob with banmasks when a user is kicked from the channel... - when the nicklist gets corrupted (improvements need to be made to xchat's perl.c) the script tries to refresh it... v0.82 - all action sounds are now stored in the config file, as well as the path to your sound command. Use /sound to edit them - if you have tabnicks set on in your xchat config file, the script will read that, and set tabnicks on automatically for you. If you make changes in your xchat config, and save them, the next time you load the script, it will notice the change... - seen responses can be restricted to a list of channels, all channels or off altogether - seen can now be set to respond by privmsg in the channel, or by noticing the user ... see /setseen - seen can now be set to respond to all nicks (including your own) that matches a !seen request ... see /setseen - when adding a user with /addf, with no hostmask, numbers in hostnames are mapped to *. (eg host1.router2.it3.net = *.router*.it3.net) - bans also work the same as above.. so a wideban will be more intuitive - fixed a small prob with autovoice - fixed a prob with some part messages - /seen and !seen command added ... one for personal, one for public v0.81.5 - various bugfixes for race conditions in !seen - cosmetic fixes to !seen v0.81 - /server by itself will move to the next autoconnect server, if you have one - fixed a bug with turning off the autoconnect server - /ajoin is more intuitive.. and ajoin messages now let you see what is preventing you from joining a channel... - added kickreason to the /xdcc help.. not sure why it was missed - added a message for the scriptlog when the script is loaded - when servers are being changed by the script, it will no longer try to connect to the server you are currently on (useful with /server command) - added a !seen command from the channel. Use /seen to turn it on or off. Nicks are automatically deleted if they aren't seen in a month. the Nicklist is saved to file every 5 minutes... v0.80 - if you have a server group set, the script will try to connect to it as soon as it loads NOTE : turn off serverlist on startup for smooth operation ;) - joining a channel with the auto-connect option is now much faster - if you entered a match for server auto-connect that couldn't be found, it would lock up xchat in a loop. This is now fixed (tnx Krunch) - comestic/intuitive fixes for /autoconnect - added "/autoconnect com" to let you set a command list for when you sucessfully make a autoconnect and join your channel. Type /autoconnect for help.. - /revenge mode didn't show changes.. (krunch) v0.79 - small bug in /revenge timeout setting, fixed - /parting a channel with some nicks could cause a crash. (thanks to Cristiano Molteni) - you can now have channel specific flags. You can use : - /addf user flags hostname channel comment - /editf user channel flags To change and edit those flags. Everything should respect the new flags. Also, when there are conflicting flags (a d flag and an o flag for example), the o flag is ignored. - when a user is given a k flag during revenge actions, it is applied to the channel the event occured on v0.78 - added a new revenge feature "/revenge inrevenge". Use this to turn on increased personal revenge if you are repeatedly kicked from a channel by the same nick (note : on by default) - fixed personal revenge so it will pban if set that way - when adding a friend already on your friendlist, matching of current hosts is exact now - you can now turn on or off rebanning a ban if it matches a k user (see /revenge) - added change of server if klined, and you are using the script's autoconnect option. This speeds up moving to another server, and probably pisses IRCOPS off less ;) v0.77 - added /autoconnect command. Any pattern set here, will be searched for in your serverlist under "comment"... and make sure you are connected to one of those servers. - fixed up speak kick help, and speak kicks now list more than one speak kick at a time - fixed a typo that prevented a auto reban of k users - cleaned some code that could lead to future probs - you now need version 0.9.5 of xchat to use this script v0.76 - added autojoin on ban/invite only/keyword/chanlimit - use /ajoin to set on or off, or to cancel an autojoin in progress. - fixed a prob with self recognition in notice handler - added a kick that was missing from the scriptlog - fixed word/speak/etc kicks so they use the new mode change/kick routine v0.75 - script logging has been vastly improved. You can now select which type of actions are logged, and how. Use /scriptlog to change the settings. - the script no longer tries to op yourself when joining a channel - MASSIVE rewrite in mode change/kicks : - kicks and mode changes are stored, and will be executed as soon as you are opped, and on the channel/server the revenge needs to be executed on - you can set the timeout value for all revenge/mode changes/ kicks with the /revenge timeout # setting. Any action that can't be executed after this timeframe (in seconds) will timeout RESULTS : - revenge kick improved - no mode changes when not opped or on channel - fixed some text when changing revenge. v0.74 - fixed a small bug when deleting wordkicks - revenge in some cases wouldn't be as severe as set.. fixed - command /fig added, which uses figlet to output large characters to irc. You need the figlet package, available at : http://www.internexus.net/pub/figlet/program/unix/ to do so. Download and install it. Then try /fig for help! v0.73 - improved /listf command.. hopefully more readable now... - fixed a bug when servers spewed info at you.. why doesn't anyone report these things?! Heh. - flood timeouts for channel and private messages were switched.. fixed - revenge kicks now have a kick message of "revenge" - revenge kick fixed up a bit - wordkicks/bans work for topic changes now - added /delaway to the /xdcc help..wups ;) - wallops won't flood you off now (well, shouldn't).. BTW, if you find they still do on large channels, please let me know! NOTE : because of the nature of wallops, it can take up to a minute for the script to message 60 ops on the channel, with long wallop messages (that is, messages in excess of 150 characters).. bear that in mind! With short messages (less than 50 chars), it can take 15-20 seconds to message a channel with 60 ops... just some figures for you ;) - recent changes to revenge screwed up kick revenge... fixed v0.72 - added +o and -b mode changes to revenge / friend list check. If you have a +d user, and the person is opped, you can choose the revenge for them. Same goes for unbanning a k nick - bugfix with server check in +b mode changes sometimes.. fixed - now when you join a channel, or load the script, users already on the channel will be scanned for +o +v -o or +k flags... and appropriate action will be taken.. - fixed the speak kick so only numbers can be entered for seconds ;) - added op and unban to revenge menu, so you can change the script's response to them - fixed a bug with mass modechange not banning properly (yeah, another ;) - use /reban to configure the script's action when the banlist is full and you place a ban. When on, this function will unban the first ban on the banlist, and reban your ban v0.71 - corrected the script so it doesn't punish server actions, but does undo them v0.70 - new command, /cycle.. will do a /part /join on the current channel - added sounds for certain actions. You can find a list of the sounds at the top of the script, where you can edit the filenames. Leave the variable blank if you don't want any sounds to play for that event, and put the file in your .xdcc dir and its name in the var if you want it to play. The /sound command turns on or off playing of sounds (and is savable with a /savec) - improved the configurability of revenge levels. User /revenge and check it out... its a lot more flexible - added the ability to automatically join channels when friends invite you /finvite turns this on or off - auto receive could give the wrong nick sometimes (still worked).. fixed - fixed up the addf function a bit - improved the flood command so that you can't clear your settings by accident - added ban or kick option to /wkick - fixed a small bug with /kick v0.69 NOTE : the latest version of xchat has an option, to abort stalled dcc transfers. You MUST set this on if you want XDCC to work correctly!!! - added /ikick .. this sets the channel to +i, kicks the user, and then 5 seconds later changes the channel back to -i - small bugfix to the mass mode protection, also servers should be ignored now - added the ability to turn flood protection on or off... - added /flood t .. for temp.. will turn flood protection off for 60 seconds, then back on automatically - various other bug fixes v0.68 - added wordkick... doesn't have an effect on p or i users - removed some debugging info that shouldn't have been in 0.66 - fixed potiental problems down the road with mode changes - erm, what else to add next? suggestions? bbarnett@L8R.net v0.67 - added mode changes to the flood protection.... revenge has an effect on this. High levels of revenge add the offender to your kick/ban on join list, and if revenge is off, the flood prot is off. v0.66 - fixed LOTS AND LOTS of bugs with the channel log function - added nick changes to the channel logs - now channel log will only log your channel on the server you started it on - added a speak kick function.. see the /xdcc help v0.65 - now /unban's hosts aren't case sensitive :P - entering a unban string without a @ or * or ? will auto add a *'s - now /wallop only sends messages in the channel you use it ;) - it should no longer be necessary to enter your home dir path in the script - fixed the channel log up a bit ;) no more 0.log in your homedir ;) - bug with quit logging fixed - fixed potential problem with mode changes v0.64 NOTE : the flood protection below hasn't been tested, at all really, and should be considered alphaish.. but it seems ok ;) - revenge on join after kick has been improved, thanks to timeout_handler - added 2 new commands, /ignore and /ignoretime. Its probably easier if you read the online help to figure out how to use them. Your config file will be updated for the new pref, ignoretime. Floods will be added to the ignorelist, and removed when the ignoretime has passed. You can save your current ignorelist any time you want, with a /ignore save. - to complement the above, added timeouts and # of messages in the /flood prefs for ctcp and notices. Very configurable, very handy. - same bug as below, now fixed with banmasks v0.63 NOTE : You now need version 0.5.3 or greater of xchat to use this script!! - small bug that could cause xchat to die if the wrong kick message was used - fixed Thanks to the new IRC::add_timeout_handler command, the following have been improved, and it should result in an overall lower cpu usage by the script/xchat - aborting of unclaimed files - dcc send - dcc auto receive - dcc queued pack send - amsg - xdcc notify v0.62 - added a powerful unban command.. you can now use a pattern to unban eg : /unban * .. this will clear the banlist /unban *boo* .. anything with boo in it will be unbanned ... you get the idea ;) If you want to unban a specific ban, then just enter that ban exactly! Any problems with it, let me know! - fixed a bug with -o mode changes - added a mdeop command.. /mdeop ALL will massdeop everyone, /mdeop fr will deop everyone but friends v0.61 - small bug with off channel ban protection fixed - cosmetic fix in the packlist to file routine - flood protection now added, for channel floods and privmsg floods - added op and voice storage, so I know wtf is going on - bug fix with stripn function - bug fix with kick function - added /wallop command (no floodoff prot yet, so use with care...) - added command /flood (no, not to flood ;), to change your flood prot settings v0.60 NOTE : flood protection on the way... - fixed a lame bug with xdcc sends - fixed another lame bug so you don't need a # before your pack # - fixed a bug with adding a comment for a +k user - now if a user tries to request a file that he is already receiving, the script will tell him, and not send the file again - same for queued packs.. if a user has a queued file, and keeps requesting it, it won't be readded... - added a show of free slots to all xdcc lists - loosened up the xdcc send/list commands so that it works better with some packages (xdccget for one) - added maxcps and total snagged to xdcc list/noti - improved the automatic adding of hosts/usernames - when adding friends to the banlist, with will be added with "baduser-nick", to keep them seperate from normal user's accounts - /addp FILES now works recursively, got rid of excessive debug info when adding packs (gtk is slooow, this speeds things up a LOT when adding 500 mp3's or so to your packlist.. ;) - revenge against a user that kicked you now times out after 60 seconds... - fixed a weird away message bug v0.59 NOTE : beta version 990126 or later is required for this script now! Another NOTE : the xdcc slots option hasn't been tested very throughly, it may be buggy, but so far, seems ok.. - wups .. small bug with the privmsg handler.. fixed - added auto dcc get for friends with +f flag (turn off auto dcc get in xchat or you'll still get everything anyhow). Use /autoget to turn this on or off. NOTE : this is a kludge right now.. the dcc get won't happen until an external event occours, so you notice yourself that a dcc autoget is going to happen. - added logging of notice messages in your away file, log file, etc, and also added support for ignoring notices as well - added ignorelog option.. this can only be changed to on or off in the config file. When an ignored message is received, it will log it, just so you can see wtf was going on, later on, if you want ;) - added /ignoreall. This ignores ALL messages for EVERYONE except for channel messages and messages from +f users. Very handy with someone that is spoofing, and changing nicknames, etc. This option is set to off (default) but you can change that at the beginning of the config file, just like the ignorelog option - added a changeable var that can be changed that the top of the script, that allows the output of the script to look better when you have tab nicks on in xchat - fixed a bug with the wideban/ban matching - added pack support for xdcc with dcc timeout, etc, etc.. seems to work OK - ignore the extra debugging info left in (if any).. it'll be gone eventually v0.58 NOTE : for some features of this script to work, you need the newest xchat, 990114 or later! (note... maybe that's not new enough, but it should be ;) MANY BUG FIXES .. moving closer to a 1.0 version - added some colour to the xdcc help, and var at beginning of script to change it - optimised the code a wee bit - multiple mode changes per line now, makes revenge sweeter ;) you set this in the config file at the top.. just in case you are on a net that doesn't allow 6 mode lines by default, you can change it, to 4 or 1, or whatever you need.. - revenge added - bugs all over the place, removed... - added a /chanlog command, starts/stops logging current channel.. you can only log one channel at a time... - added buttons - added ignore flag s .. will ignore all PRIVMSG from that user's host(s).. - when adding users to the userlist for kicking/deopping, will change the user comment to reflect the action this user took, as well as other useful info - oh yeah, added a comment feature to the userlist.. you can use "/editf pete comment this guy is a looser" if you want, and you can add users by adding a comment after their hostmask .. "/addf pete k comment GO AWAY!" - when kicking/banning on join because of the k flag, the script will display the user's comment - note : comments can be overwritten at any time a k flag is added, so don't put anything valuable there ;) - added the /amsg command.. this allows you to print a message to a channel every x minutes.. for example /amsg #test 15 LOOK OUT FOR THINGS would print that message every 15 mintes to #test. /amsg all 15 LOOK OUT... would do the same, but to all channels on all servers joined. You can delete all the messages, with /amsg clear. Also, you can add more channels.. that is, you can do a /amsg #test 15 LOOK OUT.. and a /amsg #blue 20 OK I WILL...., however, you can only have one time, and the last time set is the default, so both messages would end up listing every 20 minutes. - fixed a var screwup with the channel list function - improved detection of a faulty config file, and updating it is automatic now - getting ready for improved xdcc, with slots, queued packs, etc.. new command added for this ... /slots to set your number of maximum dcc's at once v0.57 - replaced the ban command with smartban... the ban button and /ban work better now - a user should be able to kick or ban or deop himself without getting punished ;) v0.56 NOTE : loading multiple copies of this script (other than having to load it twice at the start to get it to load), will cause VERY STRANGE THINGS TO HAPPEN. PERL.C doesn't have any way to remove a script, so far :/ - added default kickreason command /kickreason - cleaned up the /xdcc options a bit - added /revenge command, to change the revenge level .. > none means that no action will be taken to protect users with the p flag > normal means any action against a protected nick will result in a kick > severe means that any action against a protected nick will result in a kickban > extreme means that the offender will be added to your friends list, with a k flag. ALL OTHER FLAGS WILL BE DELETED! NOTE : the i flag, and the p flag, give the kicker/offender certain rights. If someone is kicking a user with an i flag, the revenge will be more severe, and if a user has the p flag, the revenge will be less severe. This being the case, the only way a p user can get on your friends list with a k flag, is if you have revenge set to extreme, and he kicked a i user. You'll get used to it ;) - adduser command will now detect if you are adding a user that already exists, and will change the flags accordingly, but keep the hostmasks/nick - added script logging. Use command /scriptlog to set the mode, and /slog del to delete the log, /slog alone to view the log. You can log to the screen, to file, to both, or to nil: - changed the /xdcc help to reflect changes v0.55 - duh... there can be multiple mode changes on one line.. fixed ;) SOON : yes, there will be a way to change the kick/protection messages ;) level of revenge... ban or just kick option for p users to be immune from revenge for kicking each other v0.54 - more changes / fixes to the kick/ban/deop routines - fixed a problem with nick changes - fixed join problems - used raid on lotsa stuff ;) NOTE : using the close gadget to exit a channel can cause problems right now, in RARE cases.. this will be fixed soon... v0.53 - fixed big time bugs with the kick protection/immunity/etc - improved on channel ban protection v0.52 - ban protection for users with +p added - code from 0.50 -> 0.52 went through tons of cleanup - updated /xdcc help v0.51 - fixed a lot of bugs with the caching of users hostmasks, for use with banning/protection - fixed a couple of bugs in the friend prot that could cause xchat to die - cleaned up some code so there is less redundancy - script in now multiserver friendly for opping/etc v0.50 lots of changes.. this script now requires at least the latest beta of xchat (Jan8/99) - 2 new flags added .. p and i.. i is to ignore any action this user does, and p is for protection - added friend protection... will now reop a user listed as +o in your list, if deopped and will kick the user that deopped if the deopped user has +p - kick protection added also.. as well as several other things.. try it! - bans protection and multiserver just a small ways away (0.51 or 2) v0.455 - cool! perl.c is improving... and with it, this script ;) Because of the nature of xchat, and its perl interface, it was impossible (to invisibly) get someone's nick when using more than one server.. but that's solved now.. your nick will, for example, show up correctly in a /plist - fixed a small bug when editing friends - pathetic attempts at optimization ;) Added support up to yottabytes in the xdcc packs, but I doubt we'll see that soon, not to mention that file sizes on drives probably won't be in bytes any more, but gigs or megs, but what the hey ;) v0.45 *** NOW MULTIPLE SERVER / CHANNEL friendly Ok, ignore what I said below ;) Working on perl late at night can make you see things. Since xchat DOES only need one copy of a script loaded, to effect all servers/channels, things are great (well, better than they could have been ;). There is now full xdcc/noti support in all windows, and it doesn't matter if they are one another server, or on another channel. Added is support for : - mutliple channels with xdcc noti (use the chan command as listed below.. all channels in the list will be listed to, X minutes after a PRIVMSG event occours on the channel you wish to be listing to. That is, if you have channel #it and #itis in your /chan command, and set your /noti to 15 minutes, it will list to each channel, after 15 minutes, after a privmsg event on that channel. Drawbacks : well, if you are on two difference servers, and on channel #it on both servers, then after the 15 minutes, whichever #it channel gets a privmsg event first (a message on the channel) will be the channel to get the xdcc notification message. There is nothing I can think of to do about this, since there is no way for me to send info to a specific server process without getting info in from there first... - fixed a bug with deleting all packs and then adding a single file as a pack v0.441 - changed opping/banning/etc so that it effects all channels on a server a user joins NOTE : right now, there is no way to descently support more than one server at a time. You can easily, as things stand now, screw up your config files, using the script on more than one server at a time, or in more than one copy of xchat. Perl support will hopefully improve to allow this support to be added in, without tons, and I mean tons, of support code to make a poor work around hack - plist command now requires a channel for listing - chan command now accepts multiple channels, seperated by a space ... this affects listing with the /noti command v0.44 - added security to xdcc packlist/sending... add a user with the x flag, and they can download when your security is set on.. do this with "/xdcc f" for "xdcc friends" people won't be able to do a packlist, or download any files when this is on, unless they are in your friendslist, and have the x flag! - fixed a bug when editing friendslists.. - removed listing of packlist when xdcc.pl is loaded... this gets annoying with too many packs ;) v0.432 - fixed a bug that could cause xchat to crash with a nick change v0.431 - small bugfix for sending files with spaces.. v0.43 - for large packlists, sometimes sending the list as a file is better.. it stops you from flooding of the server, and reduces lag. You can turn this on with /listmode **** NOTE ***** you MUST delete your $home/.xdcc/config file, and save a new one! - you can now add a mass of files as a mass of packs... use "/addp FILES" .. this will add everything matching the pattern, with each file as a seperate pack.. the description will be the filename, without path... - you can now delete all packs with "/delp ALL" - number of minutes away counter had a problem, fixed... - couldn't add files with spaces to xdcc packs - opps ;) v0.42 - bug with client nick monitor fixed - added config file and /savec /loadc - added commands to edit default channel, msg window popup disable, and script version respond - changed help to reflect changes v0.41 - fixed bug that caused # of packs to increment when deleting a friend - if a user didn't have any hosts, and you added one, a : appeared in the hostlist.. FIXED - improved interaction with user when editing a user - you can now only add valid flags to friends (although you can still add multiples) v0.40 - added page command (you can set your exe at the beginning of the script) - changed config files to .xdcc/* - added var for home dir (note : YOU MUST SET THIS!!!) - added away awareness - added work around to obtain user's nick - added away message logging - added commands away, log, page to control these features - added variable to prevent windows opening while away and logging (see top of script) - added delaway command to delete stored away messages - put a sleep 1 statement in the xdcc send routine.. large packs are annoying now, but some problems with xdcc send should disappear - minor bugfixes v0.37 - added "total size of packlist" to xdcclist, publist, etc - fixed xdcc sending plist with xdcc off, now turns xdcc on automatically - general cleanup - added commands from v0.35 that didn't make it to online help - changed command flist to listf, makes more sense v0.35 - added multiple hostmasks / friend - improved help v0.3 - added multiple files in packs - improved appearance - fixed pack deletion bug (pack deleted didn't exist, but it still claimed it deleted it) everything prior to v0.3....