overlayeddev / overlayed

A modern, open-source, and free voice chat overlay for Discord that supports Mac, Linux, and Windows
https://overlayed.dev
GNU Affero General Public License v3.0
359 stars 27 forks source link

Support for Text Chat #82

Closed vexir closed 6 months ago

vexir commented 6 months ago

Hi there! Wasn't sure where else to put a feature request, but I'd love to be able to pick a chat channel and have that appear in the overlay.

My justification is that in today's WoW, guild chat is not used much and the communication has moved to Discord, but having that happen in another window is far enough away that the game doesn't feel as social or connected. Being able to throw my guild's discord chat on top of the game window would be absolutely awesome.

Hacksore commented 6 months ago

Yeah it seems like a good feature but there are several challenges around making it a good experience.

FWIW Discord streamkit has this feature and here is what it looks like. image

As a workaround maybe you could consider using this somehow as I don't think I am willing to devote any time to this one.

Def will accept PRs if someone is willing make it work though 🙏.

Hacksore commented 6 months ago

It's def possible technically, here is a quick PoC of using discord-rpc. This requires the scope to be expanded to include messages.read which is a bit spooky 😂.

https://github.com/Hacksore/overlayed/assets/996134/1f58cc73-7f07-4811-ace5-de5bbe6e7820

Code for refrence.

const RPC = require("discord-rpc");
const client = new RPC.Client({ transport: "ipc" });

// NOTE: overlayed app id
const clientId = "905987126099836938";
// NOTE: overlayed app secret
const clientSecret = process.env.CLIENT_SECRET;

client.on("ready", () => {
  console.log("Authed for user", client.user);

  // sub to a channel for messages
  client.subscribe("MESSAGE_CREATE", {
    channel_id: "1125834408356757554",
  });
});

client.on("MESSAGE_CREATE", (data) => {
  const { nick, content } = data.message;
  console.log(`${nick}: ${content}`);
});

// Log in to RPC with access token
client.login({
  clientId,
  clientSecret,
  redirectUri: "http://localhost",
  scopes: ["rpc", "messages.read"],
});
vexir commented 6 months ago

Oh interesting. But in order to use an OBS addon I’d have to be .. playing through the OBS output window?

On Sat, Jun 1, 2024 at 1:54 PM Sean Boult @.***> wrote:

Yeah it seems like a good feature but there are several challenges around making it a good experience.

FWIW Discord streamkit https://streamkit.discord.com/overlay has this feature and here is what it looks like. image.png (view on web) https://github.com/Hacksore/overlayed/assets/996134/409ca854-ecfd-4ae3-b250-c8cf14449c8e

As a workaround maybe you could consider using this somehow as I don't think I am willing to devote any time to this one.

Def will accept PRs if someone is willing make it work though 🙏.

— Reply to this email directly, view it on GitHub https://github.com/Hacksore/overlayed/issues/82#issuecomment-2143586571, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAT6ODROKEGWZCAJHBSQWPTZFIYIZAVCNFSM6AAAAABIUMV6LOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBTGU4DMNJXGE . You are receiving this because you authored the thread.Message ID: @.***>

Hacksore commented 6 months ago

@vexir I don't know a really good solution, streamkit is not ideal if you want to pin the chat to your screen.

Does the native discord overlay not work in World of Warcraft?

Perhaps what makes sense for the "future" of Overlayed is some kind of plugin API and others can add in standalone features like Vencord.

vexir commented 6 months ago

Ah I can’t use the native Discord overlay because I’m on Mac :)

On Sun, Jun 2, 2024 at 7:06 AM Sean Boult @.***> wrote:

@vexir https://github.com/vexir I don't know a really good solution, streamkit is not ideal if you want to pin the chat to your screen.

Does the native discord overlay not work in World of Warcraft?

Perhaps what makes sense for the "future" of Overlayed is some kind of plugin API and others can add in standalone features like Vencord https://vencord.dev/plugins/.

— Reply to this email directly, view it on GitHub https://github.com/Hacksore/overlayed/issues/82#issuecomment-2143867466, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAT6ODRTSNETOOYLDYNHAJLZFMRERAVCNFSM6AAAAABIUMV6LOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBTHA3DONBWGY . You are receiving this because you were mentioned.Message ID: @.***>