Discord: threads and forum channels #75

Closed
opened 2026-09-02 00:04:18 -04:00 by Salastil · 1 comment
Owner

Channel types 10, 11, 12 (threads) and 15/16 (forums) are skipped at discord.rs:1288-1294, and the member-list subscription explicitly asks for "threads": false (:3944). No THREAD_CREATE/UPDATE/DELETE/LIST_SYNC dispatch is handled.

A threaded message therefore lands in the flat channel timeline with no indication it belongs to a thread, and forum channels are invisible entirely. On servers that use forums as their main structure, moho shows an almost empty server.

Done looks like: threads as buffers under their parent channel, and forum posts as threads.

Channel types 10, 11, 12 (threads) and 15/16 (forums) are skipped at `discord.rs:1288-1294`, and the member-list subscription explicitly asks for `"threads": false` (`:3944`). No `THREAD_CREATE`/`UPDATE`/`DELETE`/`LIST_SYNC` dispatch is handled. A threaded message therefore lands in the flat channel timeline with no indication it belongs to a thread, and forum channels are invisible entirely. On servers that use forums as their main structure, moho shows an almost empty server. **Done looks like:** threads as buffers under their parent channel, and forum posts as threads.
Salastil added the feature label 2026-09-03 13:11:28 -04:00
Author
Owner

Finished — https://git.salastil.com/Salastil/nobilis/commit/2e10190 and https://git.salastil.com/Salastil/moho/commit/45f92ba

Threads (types 10/11/12) are buffers filed under the channel they hang under; forums (15/16) are the heading their posts sit in rather than a channel that would always be empty. The ones this account is already in arrive with the guild; the rest are listed from the header button when a channel is opened, archived ones included — on a forum that is most of them. Opening one joins it, because Discord will not send a thread's messages to somebody who is not in it, then backfills its history. THREAD_CREATE/UPDATE/DELETE/LIST_SYNC are handled, so a thread started while connected appears.

Verified live: #𝘈𝘕𝘕𝘖𝘜𝘕𝘊𝘌𝘔𝘌𝘕𝘛𝘚 lists 3 threads with their message counts and archived state; opening "Server Changelog" created the buffer, joined, and pulled its history, filed under its parent channel.

Finished — https://git.salastil.com/Salastil/nobilis/commit/2e10190 and https://git.salastil.com/Salastil/moho/commit/45f92ba Threads (types 10/11/12) are buffers filed under the channel they hang under; forums (15/16) are the heading their posts sit in rather than a channel that would always be empty. The ones this account is already in arrive with the guild; the rest are listed from the header button when a channel is opened, archived ones included — on a forum that is most of them. Opening one joins it, because Discord will not send a thread's messages to somebody who is not in it, then backfills its history. THREAD_CREATE/UPDATE/DELETE/LIST_SYNC are handled, so a thread started while connected appears. Verified live: `#𝘈𝘕𝘕𝘖𝘜𝘕𝘊𝘌𝘔𝘌𝘕𝘛𝘚` lists 3 threads with their message counts and archived state; opening "Server Changelog" created the buffer, joined, and pulled its history, filed under its parent channel.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Salastil/moho#75