sm00th / bitlbee-discord

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

How would one go about blocking a specific user? #214

Open mkaito opened 3 years ago

mkaito commented 3 years ago

Obnoxious people are a reality of life, especially on public Discord servers. While weechat has an /ignore feature, it only applies to IRC buffers. I'm not sure Bitlbee itself has such a feature. How would you suggest I go about removing all messages from a given Discord user from all my buffers?

Edit: Bitlbee has a block command, but it seems that this is "not supported by this protocol".

dgw commented 3 years ago

If you're primarily using the single client, using /ignore would be possible. BitlBee appears to set hostmasks for Discord users based on their nick & the account tag (e.g. person@my-discord-account) which you could ignore based on.

BitlBee doesn't seem to have a global ignore function, though, you're right. Not sure if there'd be broad interest in something like the ignore module for ZNC, but it certainly would help what you're asking!

sm00th commented 3 years ago

Either irc client's or bouncer's /ignore would be my go-to. Neither bitlbee nor bitlbee-discord have filtering capabilities atm.

The block command you mentioned is supposed to be used to send the block request to the server, i.e. the same request webclient sends when you use block there. This is undocumented but so is a lot of other things bitblee-discord does.

I am wondering whether blocking users in webclient actually removes their messages from the feed or just marks them somehow. Did you try using webclient's block capabilities?

mkaito commented 3 years ago

It just hides them behind a kind of spoiler tag that you need to click to expand. Kind of defeats the purpose of the feature, as far as I'm concerned.

But it also means the client does receive the message, presumably with some extra metadata to hide it. -- Enviado desde mi dispositivo Android con K-9 Mail. Por favor, disculpa mi brevedad.

sm00th commented 3 years ago

But it also means the client does receive the message, presumably with some extra metadata to hide it.

Too bad it won't work out of the box. If said metadata is embedded in the message itself it might not be that hard to implement dropping these messages. If, however blocked status is stored in user structure it might be annoying to deal with on bigger servers. Will have to look into this.