Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Channel Forwarding System as on Charybdis/ircd-seven (freenode) #165

Open
KoraggKnightWolf opened this issue Sep 16, 2018 · 0 comments
Open

Comments

@KoraggKnightWolf
Copy link

Dear InspIRCd Developers,

It would be a great addition to InspIRCd if it had channel forwarding capabilities like charybdis/ircd-seven (freenode) as this would allow to redirect on any join restricing mode (+i, +l, +j just to name a few).

There are a few components, despite these modes being used already, after a discussion on #ircdocs @ freenode I will briefly sum up the used chars and how they operate (other ones can be picked, this is just to show how it should operate).

Channel mode +f
takes as parameter a #channel_name where one must also have at least (half)ops (whether full op or halfop can be up for discussion and charybdis does not support halfops). If the channel where +f is set is closed for whatever reason to the joining user they get redirect joined to #channel_name

Example: /mode #Chat +f #help

Modes that restrict join: b,i,(J,)j,k(,l),(O),(R,)(x,)z
+b can be handled via a +b nick!user@host#redirect_chan so whether to implement this in here can be up for discussion.
+J as it is just temporary and only after a kick which is (usually) deserved. Also the maximum duration of this is 60 seconds and only effects the specific individual(s). (it can be included of course, this can be up for debate too)
+l (limit) is handled via +L thus it can be integrated or not (up for discussion as well).
+O should not be set on many channels and a redirect for those may not be wished for (perhaps a config option?)
+R can be handled via the extbanredirect extras module (+b #chan1 d:#chan2:U:!@*) to redirect ban all non authed users (can be included as not everyone may wish to use the extras module(s)).
+x is provided via an extras module (the joinpartspam one) and it can offer a redirect option and free redirect (both configurable) and as it is an extras module it can be included but is not a necessity.

Testing has revealed that charybdis/ircd-seven takes freenode covers +i,j,l,R,z into consideration (the modes have been "translated" to InspIRCd's equivalents here).

Channel mode +F
Takes no parameter and indicates a free redirct channel. Anyone may set this channel as a redirect chanenl regardless of whether they got (half)ops or not.

Channel mode +Q
Takes no paameter and indicates that noone can be redirected to this channel. This "forbids" the effect of a +f where the redirect chan is this channel. It would be useful being unable to set +F and +Q at the same time (either sending a raw not allowign it or unsetting the one when the other is set similar to how some IRCd's handle it when +p and +s may not be mixed).

User mode +Q
Takes no parameters and makes one immune to the forwards set via +f
If a forward were to take effect, display an error message instead (similar to umode +L perhaps when +l (limit) and +L are used). Also always display the error why one cannot join, regardless of this mode being set or not.

This should hopefully cover most to all relevent aspects, if anyone finds mistakes or overlookings, please feel free to point them out and the modes which are up for discussion (of course also others) should receive as much feedback as possible.

Thank You very much for Your time and effort in andvance.

Regards,

Koragg

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

2 participants