eggdrop icon indicating copy to clipboard operation
eggdrop copied to clipboard

+R support (IRCNet)

Open vanosg opened this issue 6 years ago • 14 comments

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?

vanosg avatar Jan 08 '20 05:01 vanosg

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) :)

Lord255 avatar Jan 26 '20 16:01 Lord255

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 avatar Jan 26 '20 23:01 vanosg

@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!

Lord255 avatar Jan 28 '20 17:01 Lord255

We should take extra care, for +R could have other meanings under other irc-servers than IRCNETs ird.

michaelortmann avatar May 21 '21 22:05 michaelortmann

+q for Libera.Chat and Freenode would be nice too.

+R means on some networks: Channel Registered (Undernet), reg-only join (UnrealIRCd).

DasBrain avatar May 21 '21 23:05 DasBrain

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

Lord255 avatar May 22 '21 00:05 Lord255

The right thing would be to parse CHANMODES 005 and PREFIX 005.

DasBrain avatar May 22 '21 01:05 DasBrain

Is the purpose of +R for the ircd specified somewhere in the 005 announcement?

vanosg avatar Jun 30 '21 18:06 vanosg

: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

Lord255 avatar Jun 30 '21 18:06 Lord255

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?

vanosg avatar Jun 30 '21 18:06 vanosg

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.

Lord255 avatar Jun 30 '21 18:06 Lord255

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 ,.

DasBrain avatar Jun 30 '21 20:06 DasBrain

perfect, that's what i was looking for. Thanks!

vanosg avatar Jun 30 '21 20:06 vanosg

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

DasBrain avatar Jul 01 '21 00:07 DasBrain