well i don t know if it s possible but what about a module that prevent users to kick a user that have more access than u even if that user have modes -qao ( for example an op tries to kick the chanowner but when the chanowner isn t oppped and doesn t have any modes in his chan ) well when you try to kick the chanowner when he have the mode +qo on you get a message in the status window that says "KICK nick is a channel owner" "KICK nick is a channel admin" but when he hoesn t have the modes +qo u can kick him
well that module will verify the access using services b4 kickig and if it find that the users who tried to kick the other user that have more access but doesn t have any modes in the channel ( -oqha ) the ircd won t allow the kick the same thing goes for the ban
Thanx in advance
preventing kick module request
Not possible. To the ircd, if a user is -q, they aren't channel owner - that simple :p. You could prevent ChanServ kicks in this manner, but the ircd just does what it's told.
-ChatSpike IRC Network [http://www.chatspike.net]
-Denora Stats [http://denora.nomadirc.net]
-Omerta [http://www.barafranca.com]
-Denora Stats [http://denora.nomadirc.net]
-Omerta [http://www.barafranca.com]
-
- Head of Support
- Posts: 2086
- Joined: Tue Jun 15, 2004 8:50 pm
- Location: Chino Hills, CA, US
- Contact:
This is impossible all together... The only way this could be possible is if every server on your network had services integrated into the IRCd, which will NEVER happen.
There is no way for Unreal to check with services at all. Even if there were a way, Unreal would also need access to view access lists on the services, it would need to be able to parse and read all the replies from services, and it would need to know what services you use. Since there are so many services, each with slightly different commands, Unreal will never know what to ask the services. Also, what happens when the services go down or lag? This makes people unkickable, because Unreal wouldn't know if the services are gone or lagging, and it can't kick without a reply.
This goes along with what w00t said about the IRCd just doing what it is told. This is also why channel ops need to learn CS commands to override things like bans, invite-only, and keys.
There is no way for Unreal to check with services at all. Even if there were a way, Unreal would also need access to view access lists on the services, it would need to be able to parse and read all the replies from services, and it would need to know what services you use. Since there are so many services, each with slightly different commands, Unreal will never know what to ask the services. Also, what happens when the services go down or lag? This makes people unkickable, because Unreal wouldn't know if the services are gone or lagging, and it can't kick without a reply.
This goes along with what w00t said about the IRCd just doing what it is told. This is also why channel ops need to learn CS commands to override things like bans, invite-only, and keys.
Well, yeah... the only better solution I can think of (short of just give chanops only to those you trust - anyone else can be given halfop or something, since they can't mess with Q :P ) would be something ircd side that restricts mode fiddling but...
I do recall someone once suggested to angrywolf to make an ircd-side mlock mode (eg, +q only + when set no other channel modes can be fiddled with). Maybe if I ever get enough free time I might try to do that out of boredom or something... who knows.
I do recall someone once suggested to angrywolf to make an ircd-side mlock mode (eg, +q only + when set no other channel modes can be fiddled with). Maybe if I ever get enough free time I might try to do that out of boredom or something... who knows.