Discord: Difference between revisions

DoggoBit (talk | contribs)
No edit summary
DHCP (talk | contribs)
m style fixes
 
(7 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Infobox application
| name = Discord
| type = instant messaging and VoIP social platform
| image = Discord-Symbol-Blurple.svg
| developer = Discord Inc.
| website = https://discord.com/
| platform = Cross-platform (Linux, macOS, Windows, Web)
| github = discord
}}
Discord is an instant messaging and VoIP application with lots of functionality. It provides a web interface, though most users would prefer to use a client for interoperability with their system.
Discord is an instant messaging and VoIP application with lots of functionality. It provides a web interface, though most users would prefer to use a client for interoperability with their system.


Line 5: Line 15:


=== Official Clients ===
=== Official Clients ===
Nixpkgs provides all three of Discord's release channels, accessible as <code>pkgs.discord</code>, <code>pkgs.discord-ptb</code>, and <code>pkgs.discord-canary</code> respectively. Add any of the previous derivations to your package's configuration. For [[NixOS]] this will be in <code>environment.systemPackages</code> or <code>users.users.<name>.packages</code>.<syntaxhighlight lang="nixos">
Nixpkgs provides all three of Discord's release channels, accessible as <code>pkgs.discord</code>, <code>pkgs.discord-ptb</code>, and <code>pkgs.discord-canary</code> respectively. Add any of the previous derivations to your package's configuration. For [[NixOS]] this will be in <code>environment.systemPackages</code> or <code>users.users.<name>.packages</code>.
# configuration.nix
{{file|configuration.nix|nix|3=
{ config, lib, pkgs, ... }: {
{ config, lib, pkgs, ... }: {
   # This will install Discord PTB for all users of the system
   # This will install Discord PTB for all users of the system
Line 18: Line 28:
   ];
   ];
}
}
</syntaxhighlight>
}}


=== Unofficial Clients ===
=== Unofficial Clients ===
Line 33: Line 43:
</syntaxhighlight>
</syntaxhighlight>


==== BetterDiscord<ref>https://betterdiscord.app/</ref> ====
==== BetterDiscord<ref>https://github.com/BetterDiscord/BetterDiscord</ref> ====
Enhances Discord desktop app with new features. Nixpkgs provides the installer via <code>pkgs.betterdiscordctl</code>. This can be added to your configuration, though users may prefer to instead run it one-off via the [[Nix]] cli.<syntaxhighlight lang="bash">
Enhances Discord desktop app with new features. Nixpkgs provides the installer via <code>pkgs.betterdiscordctl</code>. This can be added to your configuration, though users may prefer to instead run it one-off via the [[Nix]] cli.<syntaxhighlight lang=console>
$ nix-shell -p betterdiscordctl --command 'betterdiscordctl install' # nix-legacy
$ nix-shell -p betterdiscordctl --command 'betterdiscordctl install' # nix-legacy
$ nix run nixpkgs#betterdiscordctl -- install # nix3
$ nix run nixpkgs#betterdiscordctl -- install # nix3
Line 54: Line 64:
</syntaxhighlight>
</syntaxhighlight>


==== Vencord<ref>https://vencord.dev/</ref> ====
==== Vencord<ref>https://github.com/Vendicated/Vencord</ref> ====
The cutest Discord client mod. Nixpkgs provides their custom client [https://github.com/Vencord/Vesktop Vesktop] via<code>pkgs.vesktop</code>, or as an override for the official discord package via <code>withVencord = true</code>.<syntaxhighlight lang="nixos">
The cutest Discord client mod. The standalone Vencord client can be installed by overriding the official Discord package via <code>withVencord = true</code>.
{ config, lib, pkgs, ... }: {
{{File|3={ config, lib, pkgs, ... }: {
   environment.systemPackages = with pkgs; [
   environment.systemPackages = with pkgs; [
    # vesktop # If you prefer this
     (discord.override {
     (discord.override {
       # withOpenASAR = true; # can do this here too
       # withOpenASAR = true; # can do this here too
Line 65: Line 73:
     })
     })
   ];
   ];
}
}|name=/etc/nixos/configuration.nix|lang=nix}}
</syntaxhighlight>
 
==== Vesktop<ref>https://github.com/Vencord/Vesktop</ref> ====
As opposed to just Vencord, the same developers also offer an integrated solution which aims to make the Linux experience better.
 
It can be neatly managed via [[Home Manager]], or just installed as a regular package via <code>pkgs.vesktop</code>.
{{File|3={ config, lib, pkgs, ... }: {
  ...
  programs.vesktop = {
    enable = true;
 
    vencord.settings = {
      autoUpdate = true;
      autoUpdateNotification = true;
      notifyAboutUpdates = true;
 
      plugins = {
        ClearURLs.enabled = true;
        FixYoutubeEmbeds.enabled = true;
      };
    };
  };
  ...
}|name=home.nix|lang=nix}}


==== Webcord<ref>https://github.com/SpacingBat3/WebCord</ref> ====
==== Webcord<ref>https://github.com/SpacingBat3/WebCord</ref> ====
Line 94: Line 124:
}
}
</syntaxhighlight>
</syntaxhighlight>
=== Crash on start-up ===
Occasionally, Discord's code can become corrupted, causing it to crash on start-up. You can force it to re-download the latest version by deleting the <code>~/.config/discord/1.0.138</code>directory, where <code>1.0.138</code> is replaced with Discord's current version number (the second line of output when running <code>discord</code> from a terminal).


=== "Must be your lucky day" popup ===
=== "Must be your lucky day" popup ===
Line 143: Line 176:


After adding this to your Nix configuration and rebuilding, make sure Discord is completely closed, and then run:
After adding this to your Nix configuration and rebuilding, make sure Discord is completely closed, and then run:
<pre>$ krisp-patcher ~/.config/discord/0.0.76/modules/discord_krisp/discord_krisp.node</pre>
<syntaxhighlight lang=console>
$ krisp-patcher ~/.config/discord/0.0.76/modules/discord_krisp/discord_krisp.node
</syntaxhighlight>


Once you restart Discord and join a VC, you should see a sound wave icon to the left of the hangup icon.
Once you restart Discord and join a VC, you should see a sound wave icon to the left of the hangup icon.
Line 154: Line 189:
[[Category:Applications]]
[[Category:Applications]]
[[Category:Gaming]]
[[Category:Gaming]]
=== Discord RPC not functioning ===
==== NixOS ====
Install [https://github.com/OpenAsar/arrpc arRPC]:
<syntaxhighlight lang="nixos">
{pkgs, ...}:{
  enviroment.systemPackages = with pkgs; [
    arrpc
  ];
  systemd.packages = with pkgs; [ arrpc ];
}
</syntaxhighlight>
==== Home Manager ====
Add the following to your Home Manager configuration
<syntaxhighlight lang="nixos">
{pkgs, ...}:{
  services.arrpc = {
    enable = true;
    package = pkgs.arrpc; # Default
    systemdTarget = "graphical-session.target"; # Default
  };
}
</syntaxhighlight>