discord icon indicating copy to clipboard operation
discord copied to clipboard

Support for Forum Channels

Open lepras opened this issue 2 years ago • 4 comments

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 avatar Jul 07 '23 04:07 lepras

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.

jameshi16 avatar Jul 07 '23 06:07 jameshi16

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 avatar Mar 08 '24 04:03 yeah-mike

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:

jameshi16 avatar Mar 12 '24 11:03 jameshi16

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

erkinalp avatar Jul 17 '24 21:07 erkinalp