[REQUEST] Server side ignore channel events (join,part,quit,etc)

These are old archives. They are kept for historic purposes only.

Moderators: Gottem, Supporters

Post Reply
HeXiLeD
Posts: 51
Joined: Mon Jan 16, 2017 8:07 pm
Location: online

[REQUEST] Server side ignore channel events (join,part,quit,etc)

Post by HeXiLeD »

The purpose of this module is a server side implementation of what most irc clients do to ignore channel events.

Some examples: HexChat
For all channels:

Code: Select all

Settings → Preferences → General → Check "Hide join and part messages"
For a single channel:

Code: Select all

left-hand window list → right-click the channel → Settings → Check "Hide join/part messages"
Irssi:

Code: Select all

/ignore #channel MODES JOINS PARTS QUITS
weechat:

Code: Select all

/filter add irc_smart * irc_smart_filter *
more examples here

Events to be ignored: join, part, quit, modes, kicks & bans, etc. Very much every except except topic changes, /me and or /ame and those annoying aways that people sometimes use. (let me know if I forgot any)

Initial idea is be a module that the user will load with a specific flag and then the user will not be presented with these notice-events instead of having to type code into the client.

Although I though about the new mode to be loaded and be in effect in all channels by default, ideally the new mode may be better if is set along with the channel that we want to ignore the events.

Example: /umode +y #chan1 #chan2

This type of idea should be a default feature at some point.

A perfect situation would be /umode +y would set it active for all channels by default but if the user specifies channels, then it is only in effect for those specific channels.

Second part of this idea is the mode to be set by the channel operator such as /mode +Y which will override the user mode whatever it may be. Basically 2 ways to control the event_filter.c

This must be taken in mind:
Server side url tittle fetcher (url tittler type)
Constructive criticism leads to evolution and progress. Negative criticism leads to obsolescence. We are not in the 90's IRC world anymore.
CertFP: d985d21f89fe2977b593c4d381a1a86802e62990d9328d893db76d59f9935244
Gottem
UnrealIRCd coder
Posts: 192
Joined: Fri Aug 19, 2016 5:26 pm
Location: NL

Re: [REQUEST] Server side ignore channel events (join,part,quit,etc)

Post by Gottem »

You can't, really. JOIN/PART/QUIT/etc is how clients know who is in what channels. If clients themselves hide it, they still got the message so they still know that X just joined #y and parted #z. Simply not propagating those (as you're proposing) would result in massive desyncs all around.

I advise you to check out delayjoin (channel mode +D) instead. #unreal-support is using it so that should give you a general idea of what it does. It's similar to what you're proposing but it solves (part of) the desync by JOINing them once they speak.

Also, why would you wanna hide all those events anyways?
If you like my modules, pls consider donating (credit card or iDEAL, use the custom job fee option in my shop) ;];]
HeXiLeD
Posts: 51
Joined: Mon Jan 16, 2017 8:07 pm
Location: online

Re: [REQUEST] Server side ignore channel events (join,part,quit,etc)

Post by HeXiLeD »

After posting this I even thought about the module having a small configuration file to allow the specification of what to hide such as just joins, part & quits and not modes set by operators if intended.

The reason to at least hide joins, part & quits comes handy for large channels where people join part and in leave with so much frequency that ends up by messing the text of those speaking and almost looking like spam.

I did consider mode +D which kind of addresses part of the situation but has one downside to some of us, because it will always show less users on the channel list than what the number of people in it actually is. This in turn makes some people thinking that the channel is dead.

If the channel list always displayed the real number of users in the channel for everyone, then mode +D would be a lot nicer. I wonder if it can be done.

Correct me if i am wrong but for example, when I join a +D channel i see all the users there in the channel list, but they don't see me until I speak which causes the impression that no one visits the channel.
Quits & parts are still seen after the user speaks.
Constructive criticism leads to evolution and progress. Negative criticism leads to obsolescence. We are not in the 90's IRC world anymore.
CertFP: d985d21f89fe2977b593c4d381a1a86802e62990d9328d893db76d59f9935244
Gottem
UnrealIRCd coder
Posts: 192
Joined: Fri Aug 19, 2016 5:26 pm
Location: NL

Re: [REQUEST] Server side ignore channel events (join,part,quit,etc)

Post by Gottem »

HeXiLeD wrote: Sat Aug 26, 2017 12:20 pm If the channel list always displayed the real number of users in the channel for everyone
Well you can't, that's the whole issue. ;]

Also, +D makes it so that when you join you'll see anyone who has said something up till now. If you get chanops or higher (iirc) you'll always see everyone.
If you like my modules, pls consider donating (credit card or iDEAL, use the custom job fee option in my shop) ;];]
Post Reply