+R support (IRCNet)
Based on discussion in channel: IRCNet maintains a channel mode list (similar to +bEI) of hostmasks that are eligible to be re-opped should a channel lose ops. Is this a functionality that could be added to eggdrop, similar to the ban/exempt/invite list in place now, only without an expiration time? As it is IRCNet-specific, it would probably be tied to the IRCNet net-type in the config.
Thoughts? Good idea? Bad idea? Hurdles?
i think this is a good idea. of course it's just a feature request, but it would be appreciated i think (by me for sure) :)
Thanks @Lord255, comments like these are just as important as technical implementation ones, it helps us gauge interest and prioritize things. Thanks for the comment!
@vanosg: its nice to see that the devs are trying to interact with the users. :) (y) i didn't see this chat in #eggdrop, i would have said "yes, it would be a nice feature" there too. :) i will try to keep more attention to the chan as well.
THX!
We should take extra care, for +R could have other meanings under other irc-servers than IRCNETs ird.
+q for Libera.Chat and Freenode would be nice too.
+R means on some networks: Channel Registered (Undernet), reg-only join (UnrealIRCd).
We should take extra care, for +R could have other meanings under other irc-servers than IRCNETs ird.
yes. but since we have net-types in the config ( https://github.com/eggheads/eggdrop/blob/ea8aa3150f095c84e3ef34912e6bfb0822b1b8a2/eggdrop.conf#L1062-L1075 ), it would be easy to make this thing.
like: https://github.com/eggheads/eggdrop/blob/d7729c4bbfb30e831e879da3985832e1db503dff/src/mod/irc.mod/irc.c#L1078-L1194
i think this is how geo wanted to make this. :) he mentioned like this: https://github.com/eggheads/eggdrop/blob/ea8aa3150f095c84e3ef34912e6bfb0822b1b8a2/eggdrop.conf#L1346-L1356
The right thing would be to parse CHANMODES 005 and PREFIX 005.
Is the purpose of +R for the ircd specified somewhere in the 005 announcement?
:irc.us.ircnet.net 005 asd RFC2812 PREFIX=(ov)@+ CHANTYPES=#&!+ MODES=3 CHANLIMIT=#&!+:42 NICKLEN=15 TOPICLEN=255 KICKLEN=255 MAXLIST=beIR:64 CHANNELLEN=50 IDCHAN=!:5 CHANMODES=beIR,k,l,imnpstaqrzZ :are supported by this server
:irc.us.ircnet.net 005 asd PENALTY FNC EXCEPTS=e INVEX=I CASEMAPPING=ascii NETWORK=IRCnet :are supported by this server
Right, but how do we distinguish between +R meaning "re-op" or "registered"? It looks like both are channel modes (listed in CHAMODES), so how do we differentiate based just on 005 traffic?
yeah not sure. i just checked it for you. :D i said this +R feature should based on the network setting, not about numerics.
ed: maybe: MAXLIST=beIR:64 ? i presume where +R is for registered, it does not appear in maxlist. :) so if its both in maxlist and chanmode, then its reop? but still.. easier to do it just for spec network.
You can see in what group R is in. If it is a list-mode, it is in group A. If it has no parameter, it's in group D.
CHANMODES=beIR,k,l,imnpstaqrzZ
The syntax is CHANMODES=GroupA,GroupB,GroupC,GroupD - split on ,.
perfect, that's what i was looking for. Thanks!
On a related note - CHANMODES and PREFIX should give you enough information to correctly parse a MODE line.
- Group A are list-modes.
- Group B have a parameter - both when set and unset.
- Group C only has a parameter when adding.
- Group D doesn't have a parameter.
- Prefixes always have a nick as parameter.
More info: https://modern.ircdocs.horse/#chanmodes-parameter