Eggdrop Multiple Channel Logger for mIRCStats Installing the logger. Copy channellog152.tcl to the scripts directory of your eggdrop. Use a text editor (notepad in windows or pico on linux machines) to edit the tcl. Variables statsdir and statslogdir should be filled in correctly or else the script won't run and neither will your bot. Make sure those pathnames exist on your system and remember that linux is case-sensitive. Next set variable "logkeeper" to *your* nickname on the bot. If you incorrectly set this variable then you can't do anything with mEL at all. Finally set variable "melegg" to the proper version for your eggdrop. Close the text- editor and save the changes made. Then add the line "source scripts/channellog152.tcl" to the configuration file of your eggdrop. Then simply restart your bot. Here's an overview of possible commands on mEL v1.52: Ok, all partyline commands for mEL start with .mel Simply typing in .mel gives you an overview of parameters you can add to the command. .mel on - Turns logging on. This only works when at least one channel has been added for logging. When the tcl loads for the first time the logging is still dis- abled and will automatically start as soon as you add a channel. off - Yes, well, this turns off logging. restart - This closes all logfiles and mEL starts new log- files. Note: The latest 1.5.2 logger also adds a date at the end of a logfile name. This does not occur when mEL is in mAC mode. setdays <0/n> - Sets the amount of days to log before automatically switching logfiles. When setting this to 0 mEL goes into mAC mode, which means mEL will log continuously and mAC will take care of the logfile switching. status - Shows you whether mEL is on or off, on what day it is logging or if it is in mAC mode and the channels mEL is currently logging. +chan <#channel> - Adds a channel you wish to be logged. Logging starts right after you've added the channel. -chan <#channel> - Removes a channel. mEL closes logfile of this channel. If no channels are left to be logged mEL shuts down logging. erase - Removes redundant logfiles. When you -chan a channel the logfiles won't be removed. Use this command to remove those logfiles from the partyline. addkeeper - Adds a logkeeper. The new logkeeper can do everything in mEL you can, except for adding/removing other log- keepers. rmkeeper - Removes a logkeeper. There's only one logkeeper that can't be removed and that's you! listkeeper - Shows you a list of logkeepers. addignore - Adds a nick to the ignore list. Note that only users who appear in the eggdrop user list can be added to mEL's ignore list. Anything ignored users say will be ignored. When they op, deop, voice and such it will be logged simply to prevent inconsistency. unignore - Removes a user from the ignore list. ignores - Shows a list of currently ignored users. There is also a public command for users so they can add/remove themselves from the ignore list. Syntax: mel is one of the below commands: ignoreme - Puts current user on ignore list unignoreme - Removes current user from ignore list ignorestatus- Shows user whether or not he/she is on the ignore list. FAQ! Q: Why did you write this script? A: Maybe I got bored a long time ago :-P Nahh... I was just browsing and all of a sudden I got to Ave's mIRCStats page and I saw the incredibly beauti- ful statistics page you could make with just mIRCStats and a mIRC log. But to make correct statistics pages I needed a 24/7 logfile, but I was on dialup. So I figured I'd write a script for eggdrop which logs the same way mIRC does. And you just downloaded it! :-) Q: Why can't a user be completely ignored? A: Because I want the logfiles, and thus the stats pages, to be correct. Suppose an ignored user ops you and mEL would ignore this, then you'd never be marked as being op on the stats page, simply because mIRCStats never sees anyone op you. Ignoring certain users shouldn't affect other users. Q: Why can't I add users to the ignore list who don't appear on the eggdrop's user list? A: Because mEL uses the eggdrop userlist to see if a user should be ignored. That way it doesn't matter what nick the ignored user is using. If mEL would only check on the users nickname then it might happen that you have to add ten nicks to the ignore list for one person. Add to that that you could mistakenly ignore another user who just happens to have chosen a nick that's listed on the ignore list. Q: I want to put someone on the ignore list, permanently! But every time I add this user to the ignore list he simply unignores himself using the public command! Can I change this? A: You could disable the public command by commenting out its bind (line 127) But then nobody would be able to change his ignore status. Well, tough luck, they can send the logkeeper a note with a request. Q: Is the 'erase' command safe? A: Yes, it's perfectly safe. mEL keeps track of channels which have been -chan'ed. Only the logfiles of those channels will be erased when found. Note that the 'erase' command does not work with parameters so therefor nothing but old logfiles can be erased from the partyline. Q: mEL adds a datestamp to each and every logfile, can I disable that? A: Yes, you can. But not from the partyline. You'd have to manually edit the tcl file. Comment out line 590 and, in the same proc, change .${cdate}.log to .log~bak Q: I'm running mEL in mAC mode and I want to switch back to manual mode. Do I lose the current logfile? A: You what?!?! Why would you want to.... ehhh... hmmmm... :-P No, you don't lose the current logfile, it gets backed up and mEL starts a new logfile. Same thing happens when you switch from manual to mAC mode. Q: I have a brilliant idea for mEL... A: Great!! Send any ideas, suggestions or even modifications to mEL to jules01@chello.nl Q: I've added a channel to be logged but when I check the logfiles after a day all that's in the logfile is this: Session Start: Tue Feb 29 17:18:01 2000 [17:18] *** Now talking in irc4kids [17:18] Hi A: When you added the channel you did it like this: .mel +chan irc4kids instead of the proper way, like this: .mel +chan #irc4kids Q: When I start my eggdrop I get this confusing error message like this: [05:35] mEL v1.5.2: home/user/jules/eggdrop/mel/channels.mel is missing. [05:35] mEL v1.5.2: Use .mel +chan . [05:35] Tcl error in file 'julius.conf': [05:35] couldn't open "home/user/jules/eggdrop/mel/keepers.mel": no such file or directory while executing "open ${statsdir}${keeperfile} w" (procedure "createkeeper" line 4) invoked from within "createkeeper" (file "scripts/channellog.tcl" line 918) invoked from within "source scripts/channellog.tcl" (file "julius.conf" line 325) [05:35] * CONFIG FILE NOT LOADED (NOT FOUND, OR ERROR) What on earth am I doing wrong? I can't find those .mel files anywhere! A: Errrm... check out the pathnames you've set in the tcl. Make sure they are correct!! Do keep in mind that the pathnames are case-sensitive. Try using full pathnames instead of pointing to your homedir (\home\s\sjuul\egg instead of ~\egg) Q: I set up the script on my eggdrop and everything seems to be running fine, but every time I try to use the .mel command I get this: [13:48] You are not allowed to perform maintenance! [13:48] Contact Jules for more information [13:48] mIRCStats Eggdrop Logger v1.5.1 What's wrong here? A: Well, you forgot to set the variable logkeeper. Make sure that *your* handle is set as the logkeeper, not the eggdrops nickname!! Q: I have an eggdrop running on a win32 system and everything works fine except for this error message when the mode changes on the channel: Tcl error [cmodea]: called "cmodea" with too many arguments A: Yes, this problem occurs on ported eggdrops. For some reason 1.3.x (and probably 1.4.x) eggdrops catch mode changes in the same way 1.1.5 eggdrops do. Simply change variable "melegg" in the script to 1 and restart the bot. Q: I've added logkeepers but when they type .mel nothing happens. A: Then your logkeepers don't have the +n flag. You can either give them +n or you can alter the binding of the .mel command in the tcl to accept input from other flags.