[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

channel.diff



Hi

I just wrote a little patch for 2.10.3p2.
http://kronik.krneki.org/~fiction/channel.diff
(MD5 7a5b8e4438f50c052fad620a45e94a67)

I rewrote the use of get_channel a bit (now 
there are find_channel_check and create_channel) - 
which brings following "benefits" (but breaks some other 
patches which create their own channel like &oper):

- Users can join &flagchans also if on MAXCHANNELSPERUSER already
(before you had to be on less than MAXCHANNELSPERUSER channels
although local server channels don't count for how many channels you are
on)
You then for example had to do:
part #blah
join &notices
join #blah

Which is quite annoying.

- If you were on MAXCHANNELSPERUSER channels and tried to
join a channel you were already on you got ERR_TOOMANYCHANNELS error.
This is just stupid. You can always do join #blah
if on #blah already and nothing should happen. 
Such behavior was changed.

Then the patch also includes:

- A fix for an inconsistency
:irc.arnes.si 331 neki !blah :No topic is set.
:irc.arnes.si 442 neki #blah :You're not on that channel
Now for both ERR_NOTONCHANNEL ("You're not on that channel") is returned.

- If a user is not allowed to speak on a channel (banned or moderated 
and he is not voiced/op) he should also not be able to annoy the users 
with his part/quit message. Empty part message is generated in such case.
IMHO this part is a bit ugly. But works. :-)

- Changed ERR_TOOMANYCHANNELS to include information 
about how much MAXCHANNELSPERUSER is

c'ya,
fiction