Discord Fediverse Bridge

4 months ago by nachitima to c/fediverse

Hello! Iโ€™m excited to share that Iโ€™ve built a service that bridges Discord forum channels with the Fediverse, particularly with Lemmy communities!

In short: with the bot, you can either subscribe a Discord forum channel to an existing Fediverse community, or create a new federated community and assign a forum channel to it. Posts and comments are then synchronized between Discord and the Fediverse via ActivityPub.

Please note that the project is at a very early stage.

You can try it on your own on a dedicated Discord server I created:

https://discord.gg/8WXE9bZhbP

If you find it useful or interesting, or if you have any concerns about it, I am open to your feedback. Financial support for further development would also be very appreciated.

I have also created a dedicated community for this project, so you can write something there and the messages will be synchronized between Discord and the Fediverse:

!discord_fediverse_bridge@bridge.nachitima.com

To learn how the service works in more detail, you can read the README on the repository page:

https://github.com/...

And by the way, this post was created in Discord ๐Ÿ™‚

Zarxrax 2 points 4 months ago

Very cool!

path: 0 24206530, hotness: undefined, score: 2, children: 0
rglullis 2 points 4 months ago

So every new conversation thread becomes a new post and every response becomes a comment?

path: 0 24207344, hotness: undefined, score: 2, children: 11
nachitima 3 points 4 months ago

Exactly! Replies are also supported ๐Ÿ™‚

path: 0 24207344 24207422, hotness: undefined, score: 3, children: 10
rglullis 2 points 4 months ago

Do you really think this is a good idea? Have you considered the amount of traffic will be generated and the amount of data storage this will require?

path: 0 24207344 24207422 24207468, hotness: undefined, score: 2, children: 9
jaybone 4 points 4 months ago

You mean storage for the bridge to maintain state or storage in terms of fediverse content?

path: 0 24207344 24207422 24207468 24207614, hotness: undefined, score: 4, children: 5
rglullis 5 points 4 months ago

The latter. Any instance that has at least one user following the bridge will have to process and store every message coming from the bridge discord room.

path: 0 24207344 24207422 24207468 24207614 24207809, hotness: undefined, score: 5, children: 4
Die4Ever 4 points 4 months ago

Most Discord forums don't have much traffic. Even in a popular Discord, people usually stick to chat channels not forums. Besides, the amount of data doesn't beat what any boring bot could already do, so this is not a new or unique problem.

path: 0 24207344 24207422 24207468 24213303, hotness: undefined, score: 4, children: 0
nachitima 3 points 4 months ago

I havenโ€™t considered any of it, because I just wanted to build it to use it on my own ๐Ÿ™‚ If someone in the world also finds it useful, then implementing some optimizations would not be a huge deal I believe. At least for personal use it is a working tool already

path: 0 24207344 24207422 24207468 24207713, hotness: undefined, score: 3, children: 1
rglullis 2 points 4 months ago

Short of pruning the data every once in a while (and losing all history) there is nothing that can be done to optimize it. It may work as a proof-of-concept or if you want to run on your own, but I really don't think it is a good idea to promote it.

path: 0 24207344 24207422 24207468 24207713 24207908, hotness: undefined, score: 2, children: 0
mintiefresh 2 points 4 months ago

Oh that's a very cool idea. Thanks!

path: 0 24206746, hotness: undefined, score: 2, children: 0
Lodra 1 point 4 months ago

Awesome idea! I wonder if thereโ€™s some reasonable mechanism for grouping discord messages into a single post? E.g. time bound: the previous message was greater than 5m ago so the next message is a new post and otherwise, itโ€™s a reply to the latest post. Food for thought!

path: 0 24208821, hotness: undefined, score: 1, children: 5
nachitima 2 points 4 months ago

Yeah that could be a safety mechanism for that kind of discord users who split a single thought into single messages. The user experience across platforms is different, for sure. Discord is more conducive to this type of communication.

I don't see any reliable workarounds for this, except for just knowing where you write and how it works. Methods, like you suggested, would be pretty hard to implement and they are more like a workaround from people who don't know how messages are displayed in Lemmy for example. Or simply don't want to write long texts.

I'm totally ok with writing longreads, I like it ๐Ÿ™‚

But I think it would make sense to add some sort of information about the Fediverse to the bridge registration page for example. So an uninformed user could learn first before actually starting to write. Thank you

path: 0 24208821 24209417, hotness: undefined, score: 2, children: 0
waldfee 1 point 4 months ago

If I understood correctly the bridge requires the Forum type channel on the discord side, so posts can be mapped 1 to 1 into the fediverse.

To sort the replies into a lemmy-style thread the timing could be a decent way to group them, but the resulting thread would look less like a tree and more like multiple, possibly quite long chains of comments. This would also assume that Discordians only ever answer to the last message in the chat, which isn't actually the case. I think the only way to fix this would be to utilise some sort of natural language processing to figure out which message they're replying to, though I'd be curious how easy/difficult it would be to get decent results out of that

path: 0 24208821 24220326, hotness: undefined, score: 1, children: 3
nachitima 1 point 4 months ago

There is also a way to turn on a slow mode on discord channel side specifically to prevent very frequent message sending

path: 0 24208821 24220326 24222979, hotness: undefined, score: 1, children: 2
waldfee 1 point 4 months ago

Would slow mode merge multiple small messages or simply wait a bit and send them all in one payload?

path: 0 24208821 24220326 24222979 24223681, hotness: undefined, score: 1, children: 1
nachitima 1 point 4 months ago

Simply wait a bit between sending messages. There would be enough time to edit the first message and add a follow up instead of sending a new one ๐Ÿ™‚

path: 0 24208821 24220326 24222979 24223681 24224521, hotness: undefined, score: 1, children: 0
fediverse
fediverse

@lemmy.world

login for more options
44354
3373
4922

A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, Mbin, etc).

If you wanted to get help with moderating your own community then head over to !moderators@lemmy.world!

Rules

  • Posts must be on topic.
  • Be respectful of others.
  • Cite the sources used for graphs and other statistics.
  • Follow the general Lemmy.world rules.

Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration)

go to feed...