sm00th / bitlbee-discord

Bitlbee plugin for Discord (http://discordapp.com)
GNU General Public License v2.0
290 stars 27 forks source link

Excessive channel join/left spam #119

Closed yet-another-random-username closed 6 years ago

yet-another-random-username commented 6 years ago

I've started using discord recently and I'm on a couple of channels.

The amount of messages that I get about people joining and leaving channels is beyond excessive. I've looked for a way to silence them but I can't find it.

So, assuming that this feature is missing could a way be provided to silence these messages (assuming that there's no real way to manage them)? An option for the channel would be ideal. Alternatively I'd appreciate a patch that'd just rip these out (I tried figuring this out myself but failed).

sm00th commented 6 years ago

That is not something bitlbee or bitlbee-discord can do because they need to send the "join/part" messages to your irc-client for it to properly handle user lists. What you can do is use your irc-client's features to not show them. Most of the clients have one way or another to deal with it. For instance in irssi you can use /ignore -channels #channel * JOINS PARTS QUITS NICKS to silence those messages on specific channels.

Alcaro commented 6 years ago

There are four sources of joins/leaves:

1) People going AFK and returning. This can be removed with account discord set never_offline on in &bitlbee. (Assuming you don't mind userlist containing people who aren't there. There's not much reason to remove offline people from the userlist on Discord, anyways; unlike IRC, messaging someone who's offline just waits until the recipient goes online.) 2) People joining or leaving the guild. This can't be removed, but it's pretty rare, unless you're on an absurd-size guild. (In fact, I'd consider it an improvement over the real Discord. Judging by the number of bots that post guild join/leave events, I'm not alone in that.) 3) Connecting to a channel shows everyone joining shortly after you. People being in the channel when you join works fine on normal IRC servers, and all IRC clients support it. I tried poking discord_handle_server() a bit, but it didn't help, so I suspect this one has to be fixed in bitlbee itself. 4) Losing the connection netsplits everyone, then kicks you from all channels. Had it been in the other order, the quits would only show up in &bitlbee, not disturbing any normal chatting. Like the above, this seems like a bitlbee bug.

tl;dr: Try account discord set never_offline on in &bitlbee. It's not perfect, but I consider it an improvement.

zertap commented 6 years ago

Displaying joins and quits only when people join or leave a server would be neat. (With never_offline on). I don't really see any reason why any other situations should show you joins and quits, since the people are already on the channel. Don't IRC clients normally do a WHO #channel when joining to get the list of users?

yet-another-random-username commented 6 years ago

@Alcaro: thanks for that. I'll give it a try as soon as bug #120 is resolved. It's biting me, also.

yet-another-random-username commented 6 years ago

Try account discord set never_offline on in &bitlbee. It's not perfect, but I consider it an improvement.

ding-ding! That was it. Never has my discord connection been quieter in bitlbee. It's now officially usable. :)

Thanks muchly @Alcaro. :)

That said, maybe make a louder note of it in the docs (or make it default or something along those lines).