Add Discord to Matterbridge #17

Open
opened 2023-03-17 05:35:07 +00:00 by brian · 8 comments
Member

@mkinder has set up a Discord, https://discord.gg/6KwykVdAqS

@neil what would it take to get this added to Matterbridge?

@mkinder has set up a Discord, https://discord.gg/6KwykVdAqS @neil what would it take to get this added to Matterbridge?
Owner

@tgo and I spoke about this request earlier today.

In summary:

Adding another bridge is not technically difficult, but comes with many operational challenges. Right now we are only setup for Mattermost <--> IRC bridging, and we are able to use minimal metadata to exchange information over these bridges. If we were to add another endpoint to the mesh, we would need to (at a minimum) mark the messages with what endpoint they came from.

This isn't a huge deal, but I know for a fact we will get complaints about it, as well as be an additional confusing thing about our chat which new people will have to learn and figure out. e.g., we already have problems with people not understanding the rlc bridge and having to explain it.

At this time, it seems there is not a huge amount to gain in the overall scheme of things by extending the bridge. I think it would be a better use of our time and energy to make improvements to our existing bridge infrstructure (e.g., resolving edit/long message spam), than add another communication platform.

We may revisit this in the future. As such I am not closing this issue but marking it high effort, low gain.

In meme: https://youtu.be/Jln3mi0vfJU?t=14

@tgo and I spoke about this request earlier today. In summary: Adding another bridge is not technically difficult, but comes with many operational challenges. Right now we are only setup for Mattermost <--> IRC bridging, and we are able to use minimal metadata to exchange information over these bridges. If we were to add another endpoint to the mesh, we would need to (at a minimum) mark the messages with what endpoint they came from. This isn't a huge deal, but I know for a fact we will get complaints about it, as well as be an additional confusing thing about our chat which new people will have to learn and figure out. e.g., we already have problems with people not understanding the `rlc` bridge and having to explain it. At this time, it seems there is not a huge amount to gain in the overall scheme of things by extending the bridge. I think it would be a better use of our time and energy to make improvements to our existing bridge infrstructure (e.g., resolving edit/long message spam), than add another communication platform. We may revisit this in the future. As such I am not closing this issue but marking it high effort, low gain. In meme: https://youtu.be/Jln3mi0vfJU?t=14
neil added the
gain
low
effort
high
labels 2023-03-20 15:44:48 +00:00

I know this has been discussed a few times already, but maybe it is really time to extend the bridges name just enough so it gets more understandable that it is a bridge, like rlbridge, frommatter, fromdiscord or what better explains in the least amount of characters what this is.
I definitely know this makes it harder to overlook the name before the real name, but it might really make it better understandable that this is not the username you need to look for (or if it is not limited to word characters, something like user->, or matter->/discord->)

I am not trying to heat the fire here please, just trying to find solutions that work better for the name confusion.

I know this has been discussed a few times already, but maybe it is really time to extend the bridges name just enough so it gets more understandable that it is a bridge, like rlbridge, frommatter, fromdiscord or what better explains in the least amount of characters what this is. I definitely know this makes it harder to overlook the name before the real name, but it might really make it better understandable that this is *not* the username you need to look for (or if it is not limited to word characters, something like user->, or matter->/discord->) I am not trying to heat the fire here please, just trying to find solutions that work better for the name confusion.

There are various security issues with the current bridge as it is, some of which I would rather not discuss in an open forum. I would not like to see those compounded by bridging to Discord as well.

At the end of the day I really think we need to address all of the current issues with the bridge before we add other services or networks to it.

There are various security issues with the current bridge as it is, some of which I would rather not discuss in an open forum. I would not like to see those compounded by bridging to Discord as well. At the end of the day I really think we need to address all of the current issues with the bridge before we add other services or networks to it.

I know this has been discussed a few times already, but maybe it is really time to extend the bridges name just enough so it gets more understandable that it is a bridge, like rlbridge, frommatter, fromdiscord or what better explains in the least amount of characters what this is.

If we bridge another service (and just to be clear I am against doing that at this stage) then I would agree that the bridge needs to indicate which service a given message is coming from. This is not actually done by extending the bridge's name, but rather as an additional token at the beginning of the message, eg:

<rlc>[mm]<MatterMostUser> Hi everyone I'm here from Mattermost!
<rlc>[d]<DiscordGuy> Nice to meet you I'm from Discord.

One issue we already have is with people mistaking the bot for the actual user. Keeping the bridge name minimal is one way that we try to mitigate that.

I definitely know this makes it harder to overlook the name before the real name, but it might really make it better understandable that this is not the username you need to look for (or if it is not limited to word characters, something like user->, or matter->/discord->)

The bridge can't change it's nick every time a message comes across it from a different service, that would create far too much nick-change spam in the channel.

> I know this has been discussed a few times already, but maybe it is really time to extend the bridges name just enough so it gets more understandable that it is a bridge, like rlbridge, frommatter, fromdiscord or what better explains in the least amount of characters what this is. If we bridge another service (and just to be clear I am against doing that at this stage) then I would agree that the bridge needs to indicate which service a given message is coming from. This is not actually done by extending the bridge's name, but rather as an additional token at the beginning of the message, eg: ``` <rlc>[mm]<MatterMostUser> Hi everyone I'm here from Mattermost! <rlc>[d]<DiscordGuy> Nice to meet you I'm from Discord. ``` One issue we already have is with people mistaking the bot for the actual user. Keeping the bridge name minimal is one way that we try to mitigate that. > I definitely know this makes it harder to overlook the name before the real name, but it might really make it better understandable that this is *not* the username you need to look for (or if it is not limited to word characters, something like user->, or matter->/discord->) The bridge can't change it's nick every time a message comes across it from a different service, that would create far too much nick-change spam in the channel.
Owner

Some users have also brought up the following: https://www.techradar.com/opinion/discords-ai-features-violate-our-privacy-and-its-time-we-pushed-back

The bridge can't change it's nick every time a message comes across it from a different service, that would create far too much nick-change spam in the channel.

One way we could approach this would be to maintain two IRC connections, one for mattermost, one for discord (or others), but this does get out of hand quite quickly.

puppeting is the obvious solution but to date there is not a way to puppet to IRC (at least, not on a network we don't run).

I agree I would like to fix some of the other concerns particularly around editing/long messages, too.

Some users have also brought up the following: https://www.techradar.com/opinion/discords-ai-features-violate-our-privacy-and-its-time-we-pushed-back >The bridge can't change it's nick every time a message comes across it from a different service, that would create far too much nick-change spam in the channel. One way we could approach this would be to maintain two IRC connections, one for mattermost, one for discord (or others), but this does get out of hand quite quickly. puppeting is the obvious solution but to date there is not a way to puppet to IRC (at least, not on a network we don't run). I agree I would like to fix some of the other concerns particularly around editing/long messages, too.

The bridge can't change it's nick every time a message comes across it from a different service, that would create far too much nick-change spam in the channel.

Okay! I was just not sure if the bridge will show up as 2 individual names, hense the mention of both ways.
And I really ment giving the bridge the name "user->" which would make it show up as "<user->>[mm]<MatterMostUser> Hello from Matter!" or "<user->>[d]<DiscordGuy> I am going to spam here!!!"

> The bridge can't change it's nick every time a message comes across it from a different service, that would create far too much nick-change spam in the channel. Okay! I was just not sure if the bridge will show up as 2 individual names, hense the mention of both ways. And I really ment giving the bridge the name "user->" which would make it show up as "\<user->>[mm]\<MatterMostUser> Hello from Matter!" or "\<user->>[d]\<DiscordGuy> I am going to spam here!!!"
Owner

Yeah, unfortunately that falls under the 'puppeting' bit which is not presently possible with mattermost|bridge and IRC.

Matrix accomplishes this with some special software which, essentially, holds an IRC session open for N users and brokers the connection to the backend.

That is, I guess, something that we could look into. Namely: if rocky ran a Matrix server, perhaps we could also connect to Libera in a similar way that Matrix does with their servers. We'd need to do some research into that, and also of course it would need testing and approval (definitely) by Libera staff.

Yeah, unfortunately that falls under the 'puppeting' bit which is not presently possible with mattermost|bridge and IRC. Matrix accomplishes this with some special software which, essentially, holds an IRC session open for N users and brokers the connection to the backend. That is, I guess, something that we could look into. Namely: if rocky ran a Matrix server, perhaps we could also connect to Libera in a similar way that Matrix does with their servers. We'd need to do some research into that, and also of course it would need testing and approval (definitely) by Libera staff.
Owner

I should also note: I don't really want to run a Matrix homeserver, but it does feel inevitiable at some point with the way things seem to be going.

I should also note: I don't really _want_ to run a Matrix homeserver, but it does feel inevitiable at some point with the way things seem to be going.
Sign in to join this conversation.
No description provided.