Skip to content

feat: show messages from the voice channel's text chat - #97

Merged
SpikeHD merged 8 commits into
SpikeHD:mainfrom
penguinwokrs:feat/voice-channel-chat
Nov 8, 2026
Merged

SpikeHD merged 8 commits into
SpikeHD:mainfrom
penguinwokrs:feat/voice-channel-chat

Conversation

@penguinwokrs

@penguinwokrs penguinwokrs commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Closes #96

Adds a Show Voice Channel Chat setting (Notifications, off by default). While it's on, new messages in your voice channel's text chat show up like notifications, titled the same way (Alex (General, Game Night), no # since it is a voice channel).

A notification with two voice channel chat rows below it, all titled the same way

  • Read-only plain text. Your own messages, DM/group calls and other channels aren't shown.
  • Chat rows are kept apart from notifications (up to 3), so they never push out calls or other notifications.
  • Chat text is never logged.
  • IPC: subscribes to MESSAGE_CREATE for the current voice channel while the setting is on. No new scopes.
  • Websocket: Orbolay sends SET_VOICE_CHANNEL_CHAT {enabled} and the bridges forward messages as VOICE_CHANNEL_MESSAGE (happy to rename these). Older versions on either side just don't show chat.

Bridges: SpikeHD/vc-orbolay-bridge#8, SpikeHD/vc-orbolay-bridge#9, SpikeHD/shelter-plugins#122, SpikeHD/shelter-plugins#123 (Equicord to follow)

Tested on Windows with the official client, Equibop and Vesktop. I don't have a second account, so I used my own messages with a local change, and a fake websocket client for other users. cargo fmt and clippy pass.

Adds the Show Voice Channel Chat setting and builds read-only rows from
voice channel chat messages. avatar_url moves to orbolay-core so chat rows
and the voice list share it.
Chat rows show next to notifications with the channel name ({{channel}}).
Template tokens are now replaced in one pass, so message text can't expand
them.
Orbolay tells each bridge when to forward chat (SET_VOICE_CHANNEL_CHAT) and
receives VOICE_CHANNEL_MESSAGE.
Subscribes to MESSAGE_CREATE for the current voice channel while the setting
is on.
Chat rows and the IPC voice list now pick names the same way: nickname, then display name, then username, skipping empty ones.
@penguinwokrs
penguinwokrs force-pushed the feat/voice-channel-chat branch from 44712fa to d49cdba Compare November 3, 2026 17:30
@SpikeHD

SpikeHD commented Nov 4, 2026

Copy link
Copy Markdown
Owner

Sorry for the wait, I've been quite ill, I will take a look at these as soon as I can 👍

@SpikeHD SpikeHD left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good! one thing is that i think id prefer if we can unify the two notification types to look exactly the same, is it possible to implement? i don't mind which of the two "designs" are used (i do like the semi-dark look of channel_name, though it doesn't show the guild name), but they look a bit out of place next to eachother, even though they signal the same thing

Image

@penguinwokrs

penguinwokrs commented Nov 7, 2026 •

Copy link
Copy Markdown
Contributor Author

@SpikeHD Thanks! I went with the top one, so chat rows now get the same title as other notifications, e.g. Alex (#General, Game Night). {{channel}} is gone too, so the notification template is the same as on main.

The bridges need to send the server name for this, so I opened SpikeHD/vc-orbolay-bridge#9 and SpikeHD/shelter-plugins#123. Over IPC Orbolay already knows it.

@penguinwokrs
penguinwokrs requested a review from SpikeHD November 7, 2026 19:49
@SpikeHD

SpikeHD commented Nov 7, 2026

Copy link
Copy Markdown
Owner

perfect thanks :) one final note: can we remove the "#" on voice channels? identically named channels look misleading otherwise haha

@penguinwokrs

Copy link
Copy Markdown
Contributor Author

@SpikeHD Good call, it is much easier to tell them apart without the #. Done in 9f97d09: chat rows now read Alex (General, Game Night), while regular notifications keep Discord's own #general. I updated the screenshot in the description too.

@SpikeHD

SpikeHD commented Nov 8, 2026

Copy link
Copy Markdown
Owner

perfect, thank you!

@SpikeHD
SpikeHD merged commit 08e7d31 into SpikeHD:main Nov 8, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ENHANCEMENT] Show new messages from the voice channel's text chat (read-only, off by default)

2 participants