yes it doesawyeah wrote:As for /who, the eggdrop doesn't do a /who #channel when they join a channel (else if you are using some tcl which intentionaly does a channel who on join).
excuse me? /list to get nicks? you've been drinking too much this xmasThey just /list #channel get the nicknames present in a channel as when a normal user, using a mirc client joins a channel and gets the nicks listed in the channel.
totally irrelevantTo prevent your eggdrop from pinging out, you can use anti-idle scripts:
http://www.egghelp.org/cgi-bin/tcl_arch ... load&id=12
http://www.egghelp.org/cgi-bin/tcl_arch ... load&id=16
http://www.egghelp.org/cgi-bin/tcl_arch ... oad&id=862
http://www.egghelp.org/files/mytcl/aidle1.1.tcl.gz
in src/mod/irc.mod/chan.c find this in gotjoin():Kurupt wrote:I have a problem. My bots need to join a big channel, big means 900+ ppl on chan. And wen the bot join he do a /who #chan and that make im to get ping timeout. So my question does somebody know how to stop to do /who #chan when he joins or have somebody a patch for something like that.
Code: Select all
if (match_my_nick(nick)) {
/* It was me joining! Need to update the channel record with the
* unique name for the channel (as the server see's it). <cybah>
*/
strncpy(chan->name, chname, 81);
chan->name[80] = 0;
chan->status &= ~CHAN_JUPED;
/* ... and log us joining. Using chan->dname for the channel is
* important in this case. As the config file will never contain
* logs with the unique name.
*/
if (chname[0] == '!')
putlog(LOG_JOIN | LOG_MISC, chan->dname, "%s joined %s (%s)",
nick, chan->dname, chname);
else
putlog(LOG_JOIN | LOG_MISC, chan->dname, "%s joined %s.", nick,
chname);
reset_chan_info(chan);
} else {
Code: Select all
dprintf(DP_MODE, "WHO %s\n", chan->name);
dependsKrzychuG wrote:If you remove 'WHO' code from Eggdrop bot won't know which users are on channel. Bot won't also know their hostnames and won't react on bans, won't op them and so on.
I knew one, she used one of Eggdrop's modification but she probably started with vanilla version too :)it's your choice or rather his/her choice (hmm anyone knows a girl running eggdrop?)
Code: Select all
####### FILTER KICK ########
bind mode - "*+b*" filter:kick
proc filter:kick {nick uhost chan mode target} {
global botnick botname
if {([string equal "*!*@*" $target]) || ([string equal "*!~*@*" $target]) || ([string match "*\?*!*@*" $target]) || ([string match "*!*\?*@*" $target]) || ([lindex [split $target "@"] 1] < 5)} { return 0 }
if {([string match "*+b*" $mode]) && (![string equal "ChanServ" $nick]) && (![string match -nocase *$target* $botname])} {
foreach user [chanlist $chan] {
if {([string match -nocase *$target* "${user}![getchanhost $user $chan]"]) && (![isop $user $chan]) && (![isvoice $user $chan]) && ([onchan $user $chan])} {
putquick "KICK $chan $user :T3: You are terminated - Copyright © 2004 awyeah Inc. All rights reserved." -next
}
}; return 0
}
}