The regular Undernet banlist limit is 45 while the banlist limit for bans applied by X is 300. I found TCL's which allow users to ban by X. I'm wondering if there is a TCL which would automatically used x to process bans applied by the eggdrop?
Hell! the config file is almost as huge as the eggdrop config file - loll -. Since the eggdrop knows on which network the bot is connected through the Server module parameter "set net-type 2", I'm wondering how hard it would be for the eggdrop coders to implement that choice through the eggdrop config file!
The issue is rather, that each network and brand of servers (and patches) provide their own mechanisms for doing this or that, and even in the cases of similar services, there's generally some difference in features, syntax, etc.
Also, the desired interaction with services such as chanserv may vary from user to user, adding even further permutations to the equation.
In the end, if developers were to support all permutations, we'd end up with an ogre, taking ages to compile, and noone would even considder trying to debug.
The scripting interface is provided to allow you as an user/coder to alter and adapt your eggdrop's behaviour in various conditions to suit your needs. Granted, default behaviour for many situations is hardcoded in c, but even so, it is generally not that hard to override the default behaviour, although not as performance-effective as the c-code counterpart.
So, simply put, eons ago eggdev decided to generally not implement support for various bells'n'whistles in some networks or server softwares, as these usually could be supported script-wize, and would only be beneficial for a limited set of users. Some features has been supported by the code even so, as not supporting those could cause some serious headache for the botowners (such as exempt and invite-modes that override bans and invites, etc).
I agree with you but since the eggdrop config file was defining the network or type of network the bot was on, I though there were codes put in specifically for network 1 to 4.
# What is your network?
# 0 = EFnet (non +e/+I Hybrid)
# 1 = IRCnet
# 2 = Undernet
# 3 = DALnet
# 4 = +e/+I Hybrid
# 5 = Others
set net-type 2
I'm not a programmer. For me the only thing missing are:
- ban level
- someting converting ban time in hours with a min. of 1 and a max. of what Undernet is allowing these days for bans exceeding that time limit
- and sending the ban to x in its format (permanent bans).
and obviously a parameter to activate this feature
I know! It seems easy for someone who doesn't understand the in and out of programming.
Settings 1 through 4 does alter the behaviour of eggdrop, namely by providing predefined values for numerous settings (which you could set manually for type 5). These settings include number of bans/exempts/invites aswell as wether exemt/invite modes are available, number of modes that may be stacked into a single command, and so on.
Adding support for bans through X raises multiple issues. First off, which brand(s) of X services should be supported? How to keep up with changes in various brands of X services?
Just taking these variables yields several different branches to the code.
If you then add support for the vast flora of different chanserv:s, you'll end up with a huge server-module, which will be a nightmare to debug, as you have to keep track of which part of which service and which banning method and... and... *pooof*.
Simply put, "MODE #channel +b nick!user@host" is defined in rfc1459, and is not replaced in later rfc's - making it ideal for standard behaviour (works on any rfc-compliant server). There is an issue with this, I suppose, as eggdrop will always expects ! and @ in the banmask - and will add them if they're not present. This however does not prevent normal banning, just some extended ban-functions only supported on some networks.