Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discord linux client alternatives #22

Open
ShayBox opened this issue Jul 27, 2020 · 32 comments
Open

Discord linux client alternatives #22

ShayBox opened this issue Jul 27, 2020 · 32 comments

Comments

@ShayBox
Copy link
Owner

ShayBox commented Jul 27, 2020

As not many of you may know, Discord has officially dropped support for Linux, they're still producing a Linux client (for now), but they have slowly been killing off things related to Linux for years, including:

  • The Discord Linux server, which used to be an official Discord server for reporting bugs, and the Discord Linux client
  • Discord Linux GitHub issue tracker
  • Discord Linux Trello bugs board
    (Let me know if there's anything I'm missing)

So I'm making this as a discussion for alternative platforms, clients, and wrappers for Discord, as a general discussion board.

@ShayBox ShayBox pinned this issue Jul 27, 2020
@ShayBox
Copy link
Owner Author

ShayBox commented Jul 27, 2020

As a better alternative to the Discord Linux Client, you may prefer to just use chrome/chromium
The command chromium --app=https://discordapp.com/app works very well
It even has better screen sharing support than the official electron wrapper client

You can also create a .desktop entry for this
create .local/share/applications/discord-custom.desktop with the following contents:

[Desktop Entry]
Type=Application
Version=1.0
Name=Discord Custom
Comment=All-in-one voice and text chat for gamers that's free, secure, and works on both your desktop and phone.
Exec=/usr/bin/chromium --app=https://discordapp.com/app
Icon=discord
Terminal=false
Categories=Network;InstantMessaging;
StartupWMClass=discordapp.com__app

@ShayBox
Copy link
Owner Author

ShayBox commented Jul 27, 2020

I found this electron wrapper, the only downside I can find is video/screen capture doesn't work
https://github.com/Macil/discord-tron
If they could get that working it would probably be the best alternative to the official client

@botiapa
Copy link
Collaborator

botiapa commented Jul 27, 2020

As a better alternative to the Discord Linux Client, you may prefer to just use chrome/chromium
The command chromium --app=https://discordapp.com/app works very well
It even has better screen sharing support than the official electron wrapper client

You can also create a .desktop entry for this
create .local/share/applications/discord-custom.desktop with the following contents:

[Desktop Entry]
Type=Application
Version=1.0
Name=Discord Custom
Comment=All-in-one voice and text chat for gamers that's free, secure, and works on both your desktop and phone.
Exec=/usr/bin/chromium --app=https://discordapp.com/app
Icon=discord
Terminal=false
Categories=Network;InstantMessaging;
StartupWMClass=discordapp.com__app

Maybe creating an AUR package for this might not be a bad idea, if this is actually better.

@ShayBox
Copy link
Owner Author

ShayBox commented Jul 27, 2020

I was considering it, though I need some sort of way to have it use an existing chrome browser (chrome, chromium. ungoogled, vivaldi, etc), so maybe a build script for the exec line

@ShayBox
Copy link
Owner Author

ShayBox commented Jul 28, 2020

Turns out discord on chrome has terrible microphone quality, so rip that
EDIT: It's actually better if you use Google Chrome instead of Chromium/Ungoogled, must be something closed source makes it better

@Daedalusspacegames
Copy link

As not many of you may know, Discord has officially dropped support for Linux, they're still producing a Linux client (for now), but they have slowly been killing off things related to Linux for years, including:

* The Discord Linux server, which used to be an official Discord server for reporting bugs, and the Discord Linux client

* Discord Linux GitHub issue tracker

* Discord Linux Trello bugs board
  (Let me know if there's anything I'm missing)

So I'm making this as a discussion for alternative platforms, clients, and wrappers for Discord, as a general discussion board.

Source?
Yes, the Linux specific server, issue tracker, and Trello board seem to be gone, but their Phabricator instance has tags for Linux-specific bugs, and their information for applying to be a bug tester does not exclude Linux users:
"On Linux, any "End of Life" OS (any OS that no longer receives updates) is unsupported and tickets reliant on those OS versions should be denied." That's all it says about Linux, and that seems perfectly reasonable.
Beyond official stuff, the only thing remotely like "dropping support" I've found is a comment on Reddit about them not having the engineering resources to dedicate to Linux alone.
I'm not saying you're wrong, I'd just like to know what information has led you to your conclusion.

@ShayBox
Copy link
Owner Author

ShayBox commented Aug 10, 2020

It's been a slow process, but they released the official linux client, and took over XNBlank's wrapper discord server, not a big deal, they released an official client!, then they converted that server to just an enthusiast linux server that was no longer an official server, and because of that, the server was no longer used to report issues with the linux client, that was moved to discord testers and trello (bot in dtesters), then they deleted the trello, which they hadn't been fixing bugs from anyway, so now we have no way to report bugs, nobody fixing bugs, and no support platform to communicate with the devs, the best we have is the discord linux channel still in the discord-linux server, which is just community driven and has no link to the developers

@botiapa
Copy link
Collaborator

botiapa commented Aug 13, 2020

I found a reverse engineered and then rebuilt dc client:

https://github.com/arandomnewaccount/DiscordClient/

@ShayBox
Copy link
Owner Author

ShayBox commented Aug 13, 2020

pog its starting

@botiapa
Copy link
Collaborator

botiapa commented Aug 14, 2020

There is also a QT discord but it's not open source: https://wiki.archlinux.org/index.php/Ripcord

@botiapa
Copy link
Collaborator

botiapa commented Aug 15, 2020

Also https://github.com/diamondburned/gtkcord3

@Meister1593
Copy link

Does using such clients can lead to banning entire account? (for example last one - gtkcord)

@ShayBox
Copy link
Owner Author

ShayBox commented Aug 16, 2020

It's possible

@ruslang02
Copy link

I'm currently developing a Qt/JS Discord client and I would be very thankful if people could hop in and help: https://github.com/ruslang02/discord-qt

@ShayBox
Copy link
Owner Author

ShayBox commented Aug 18, 2020

Is it a complete rewrite or a wrapper to the website?

@ruslang02
Copy link

ruslang02 commented Aug 18, 2020

It's a complete rewrite based on the NodeGui framework and discord.js library, no Chromium/Electron at all

@simon511000
Copy link

@ruslang02 I just tested your discord client and I'm impressed, good job!

Ps: If you need I can make French translations ;)

@ShayBox
Copy link
Owner Author

ShayBox commented Aug 18, 2020

@ruslang02 The one thing I would suggest, make this into a bash, batch, sh, or Makefile script, or at least remove all the functions, a single purpose script like this doesn't need to have functions for single use execs, and since its all raw commands anyway, it doesn't need to be js

@ShayBox
Copy link
Owner Author

ShayBox commented Aug 18, 2020

Oh my god actually, a bigger problem, please don't fork discord.js to add user endpoints, that's insane, those methods were removed, and having to maintain a fork to get access to stuff that actually does get you banned from discord is not a good idea, at the least just make a utility project that extends the lib and adds stuff, but ideally you shouldn't use stuff that you aren't supposed to have access to.
This is also why I asked if it was a wrapper or remake, only wrappers can get access to all of the functionality of the official client because they're the official website.

EDIT: And I'm not kidding or exaggerating, those methods are blocked by user agents other than the official client for a reason, and although discord doesn't go out of their way to use other methods of detecting people evading the block, if anyone using them gets reported, either you or people using this client can get banned.

@botiapa
Copy link
Collaborator

botiapa commented Aug 19, 2020

Yeah, this is why making a custom client is hard. Discord could decide to ban everyone using it any time.

@ShayBox
Copy link
Owner Author

ShayBox commented Aug 23, 2020

This is an interesting thing I just came across https://aur.archlinux.org/packages/discord_arch_electron/

It does not fix multi-monitor screensharing, it does however show the screens individually in the menu, but discord doesn't listen to the size variables electron gives it, so this is both an outdated electron, and outdated code problem :(

No advantages as far as I can see besides using the shared electron

@ShayBox
Copy link
Owner Author

ShayBox commented Aug 23, 2020

I also found https://github.com/Lightcord/Lightcord

@ruslang02
Copy link

@ShayBox As we discussed, runtime-patching of discord.js library is now implemented so we won't need to stick to a fork anymore. Also I will probably add a notice about the user endpoints then.

@simon511000 Will start working on the language features soon, probably will use i18n or something similar.

@ruslang02
Copy link

ruslang02 commented Sep 8, 2020

@simon511000 i18n support is ready. You can start working on French translations.
This is being addressed to everyone actually, translations for the app would be wonderful to have.

Before translating I advice you to download and parse Discord's translation files first so that you could copy-paste translations with their IDs. This doesn't cover all the text in the app however, which is why we need people who could translate the remaining strings.

Example here: https://github.com/ruslang02/discord-qt/tree/master/locales/en-US.json

@diamondburned
Copy link

For Golang developers: I have made a Discord library with most of the user endpoints as well as a library on top of it adding user states like member lists.

@ShayBox
Copy link
Owner Author

ShayBox commented Apr 17, 2021

Discord Canary has fixed screensharing, pog bois, lets goooo

@Meister1593
Copy link

No way... does this work through pulse or how?

@ShayBox
Copy link
Owner Author

ShayBox commented Apr 18, 2021

screen not audio

@Meister1593
Copy link

Sad, i thought only about audio...
Screen sharing wasn't a big deal with mon2cam

@theoparis
Copy link

Discord Canary has fixed screensharing, pog bois, lets goooo

Nope, still doesn't work on wayland.

@D3SOX
Copy link

D3SOX commented Oct 19, 2022

@theoparis It does work for application windows and I think the whole screen also works with https://github.com/maltejur/discord-screenaudio

@ShayBox
Copy link
Owner Author

ShayBox commented Oct 19, 2022

Ooh nice project

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

No branches or pull requests

9 participants