Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Forum Channels #101

Open
lepras opened this issue Jul 7, 2023 · 4 comments
Open

Support for Forum Channels #101

lepras opened this issue Jul 7, 2023 · 4 comments
Labels
enhancement New feature or request

Comments

@lepras
Copy link

lepras commented Jul 7, 2023

I don't see any mention of forum channels on the issues or the roadmap so here it goes.

Discordgo seems to have the support seeing this PR and their docs.

You can learn more about discord forums here.

We can use matrix threads for bridging this type of content and messages.

@lepras lepras added the enhancement New feature or request label Jul 7, 2023
@jameshi16
Copy link

If it helps in any way, here is a hacky fork I made to join threads in a forum channel: https://github.com/jameshi16/mautrix-discord

The particular file the hack is in can be found here:
https://github.com/jameshi16/mautrix-discord/blob/edf071cdaa3abd7084bc32324750b70e447e33fd/commands.go#L707

To then send / receive messages from a thread in a forum channel, both the forum channel ID and the thread ID needs to be bridged. Thereafter, interacting with the thread works as if interacting with a normal Matrix channel.

@yeah-mike
Copy link

yeah-mike commented Mar 8, 2024

If it helps in any way, here is a hacky fork I made to join threads in a forum channel: https://github.com/jameshi16/mautrix-discord

The particular file the hack is in can be found here: https://github.com/jameshi16/mautrix-discord/blob/edf071cdaa3abd7084bc32324750b70e447e33fd/commands.go#L707

To then send / receive messages from a thread in a forum channel, both the forum channel ID and the thread ID needs to be bridged. Thereafter, interacting with the thread works as if interacting with a normal Matrix channel.

Is there any way to use your fork as a drop-in replacement in a docker deployment?

@jameshi16
Copy link

If it helps in any way, here is a hacky fork I made to join threads in a forum channel: https://github.com/jameshi16/mautrix-discord
The particular file the hack is in can be found here: https://github.com/jameshi16/mautrix-discord/blob/edf071cdaa3abd7084bc32324750b70e447e33fd/commands.go#L707
To then send / receive messages from a thread in a forum channel, both the forum channel ID and the thread ID needs to be bridged. Thereafter, interacting with the thread works as if interacting with a normal Matrix channel.

Is there any way to use your fork as a drop-in replacement in a docker deployment?

@yeah-mike, yep, I have been doing so. Just take note of the instructions (bridge forum channel ID, then the thread ID)

I've been using it like this in my docker-compose.yml:

services:
    conduit:
        image: matrixconduit/matrix-conduit
        environment:
            CONDUIT_SERVER_NAME: "xxx"
            CONDUIT_DATABASE_BACKEND: "rocksdb"
            CONDUIT_ALLOW_REGISTRATION: "false" # set to false once ready
            CONDUIT_MAX_CONCURRENT_REQUESTS: "100"
            CONDUIT_LOG: "warn"
        ports:
          - "8008:6167"
        volumes:
            - ./conduit:/var/lib/matrix-conduit/
        depends_on:
            - proxy
        networks:
            - conduit-network
    appservice-discord:
        build: https://github.com/jameshi16/mautrix-discord.git
        volumes:
            - ./discord:/data
        depends_on:
            - conduit
        networks:
            - conduit-network
        ports:
            - "29934"

networks:
    conduit-network:

@erkinalp
Copy link

Forum threads should be bridged as "threads as rooms".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Development

No branches or pull requests

4 participants