Bios-Marcel / cordless

The Discord terminal client you never knew you wanted.
BSD 3-Clause "New" or "Revised" License
1.64k stars 140 forks source link

add support for threads / inline replies #348

Open intexisty opened 3 years ago

intexisty commented 3 years ago

What do you want

Support for discord's new thread feature (as of discord api v8).

We've added documentation around our new feature: Inline Replies! These changes are not yet merged or deployed for everyone. It will be about 3 weeks before this feature is complete, so this is simply a heads up!

https://github.com/discord/discord-api-docs/pull/2118

Be mindful of the different type in v6 and v8. While generally new types are not breaking changes, replies will most likely be widely used and "change" the flow of chat as it is today. We don't want existing moderation bots to miss those messages and be unable to do their work, so we're keeping replies as a type 0 for API v6.

v8 is new and not yet default, so replies will be a new type (19) in v8.
Bios-Marcel commented 3 years ago

Oof, this is gonna require some big changes I assume.

Bios-Marcel commented 3 years ago

We need a new concept for the chatview. Any thoughts on this? I'd probably go with allowing to expand / collapse threads inline. If you haven't expanded it yet, it just displays amount of messages and last message time or so.

Either way, not gonna look into this til it's finalized by discord.

0neGal commented 3 years ago

Had to come on here to check on the status since they announced it, glad to see it already has an issue open.

In terms of the UI you could either have a greyed message much like how the timestamp is but above the message, but then have it be:

Replying to Username#1234 - Message
23:59:59 Username#5678: New Message

And the message will be cut off if it's longer than the terminal size, since otherwise it'd create way too many lines. Also there'd probably have to be a max length on the username, in general this might become a nightmare to get to fit on smaller terminals.

Either way this'll fill the screen a decent chunk, I think having at max a line to show inline replies and no more would be the best way to go, I could also see an option to be able toggle it through the chatview, not sure how good that'd be tho, it may get annoying in the long run. Example below:

Replying to Username#1234
23:59:59 Username#5678: New Message

That or scrapping the whole username part and only have the message.

not gonna look into this til it's finalized by discord.

totally understandable