KaylorBen / nixcord

Declarative Vencord plugins + options
MIT License
66 stars 8 forks source link

Noise supression button not appearing #55

Open ari-rs opened 1 week ago

ari-rs commented 1 week ago

I am on nixcord latest am when in a vc the noise suppression button is not there and there is no noise suppressions working

PXL_20241115_234110593 PXL_20241115_234122132 MP

DontEatOreo commented 1 week ago

This isn't related to Nixcord, BUT

That's because Krisp[^1] has a DRM where if Discord binary is tampered[^2] it will disable Krisp, to get around this issue you can use, krisp-patcher by sersorrel

Here is an example of how to add the krisp-patcher:

{ pkgs, ... }:
let
  krisp-patcher =
    pkgs.writers.writePython3Bin "krisp-patcher"
      {
        libraries = with pkgs.python3Packages; [
          capstone
          pyelftools
        ];
        flakeIgnore = [
          "E501" # line too long (82 > 79 characters)
          "F403" # 'from module import *' used; unable to detect undefined names
          "F405" # name may be undefined, or defined from star imports: module
        ];
      }
      (
        builtins.readFile (
          pkgs.fetchurl {
            url = "https://raw.githubusercontent.com/sersorrel/sys/afc85e6b249e5cd86a7bcf001b544019091b928c/hm/discord/krisp-patcher.py";
            sha256 = "sha256-h8Jjd9ZQBjtO3xbnYuxUsDctGEMFUB5hzR/QOQ71j/E=";
          }
        )
      );
in
{
  environment.systemPackages = [
    krisp-patcher
  ];
}

and then running:

$ krisp-patcher $(find ~/.config/discord/ -name "discord_krisp.node" -path "*/modules/discord_krisp/*")

[^1]: The proprietary noise suppression discord uses [^2]: Which it needs to be in order to work on NixOS

ari-rs commented 6 days ago

How come vencord and vesktop are not afflicted by this problem and only nixcord?

Soikr commented 1 day ago

How come vencord and vesktop are not afflicted by this problem and only nixcord?

@ari-rs Vesktop is basically a webpage so tampering detection would be weird. I dont know what vencord itself does that allows it to go undetected but this problem is exclusively on nix, not directly a nixcord issue. https://github.com/NixOS/nixpkgs/issues/195512