Açıklama Yok

ayn2op bd28598bac fix(notifications): do not bail if member is nil 9 ay önce
.github d15e5168b3 docs(readme): update preview 9 ay önce
cmd 4d9dd1d01b fix(cmd): if member does not exist in state, use the default name (display or user name) 9 ay önce
internal bd28598bac fix(notifications): do not bail if member is nil 9 ay önce
nix 2c1546a81a build(nix): update vendorHash 11 ay önce
.gitignore e976dc6537 refactor: unexport local symbols 11 ay önce
LICENSE 51fa556cd4 SWITCH TO A SUPERIOR LICENSE 1 yıl önce
README.md 4b141dfd1f docs(README): add note about default config to Configuration section 9 ay önce
flake.lock 1e316ebbb5 add nix 11 ay önce
flake.nix 1e316ebbb5 add nix 11 ay önce
go.mod e7c20e1da9 feat(logger): use tint.Handler 9 ay önce
go.sum e7c20e1da9 feat(logger): use tint.Handler 9 ay önce
main.go 6d370ea266 refactor(cmd): switch to cobra 10 ay önce

README.md

Discordo · discord ci Go Report Card license

Discordo is a lightweight, secure, and feature-rich Discord terminal client. Heavily work-in-progress, expect breaking changes.

Preview

Features

  • Lightweight
  • Configurable
  • Mouse & clipboard support
  • Attachments
  • Notifications
  • 2-Factor authentication
  • Discord-flavored markdown

Installation

Prebuilt binaries

You can download and install a prebuilt binary here for Windows, macOS, or Linux.

Package managers

  • Arch Linux: yay -S discordo-git
  • FreeBSD: pkg install discordo or via the ports system make -C /usr/ports/net-im/discordo install clean.
  • Nix (NixOS, home-manager)
    • Downstream nixpkgs installation: Add pkgs.discordo to environment.systemPackages or home.packages.
    • Upstream flake installation: Add inputs.discordo.url = "github:ayn2op/discordo". Install using inputs.discordo.homeModules.default (.enable, .package, .settings TOML).
  • Windows (Scoop):

    scoop bucket add vvxrtues https://github.com/vvirtues/bucket
    scoop install discordo
    

Building from source

git clone https://github.com/ayn2op/discordo
cd discordo
go build .

Linux clipboard support

  • xclip or xsel for X11 (apt install xclip)
  • wl-clipboard for Wayland (apt install wl-clipboard)

Usage

  1. Run the discordo executable with no arguments.

If you are logging in using an authentication token, provide the token command-line flag to the executable (eg: --token "OTI2MDU5NTQxNDE2Nzc5ODA2.Yc2KKA.2iZ-5JxgxG-9Ub8GHzBSn-NJjNg"). The token is stored securely in the default OS-specific keyring.

  1. Enter your email and password and click on the "Login" button to continue.

Configuration

The configuration file allows you to configure and customize the behavior, keybindings, and theme of the application.

  • Unix: $XDG_CONFIG_HOME/discordo/config.toml or $HOME/.config/discordo/config.toml
  • Darwin: $HOME/Library/Application Support/discordo/config.toml
  • Windows: %AppData%/discordo/config.toml

Discordo uses the default configuration if a configuration file is not found in the aforementioned path; however, the default configuration file is not written to the path. The default configuration can be found here.

FAQ

Manually adding token to keyring

Do this if you get the error:

failed to get token from keyring: secret not found in keyring

Windows

Run the following command in a terminal window. Replace YOUR_DISCORD_TOKEN with your authentication token.

cmdkey /add:discordo /user:token /pass:YOUR_DISCORD_TOKEN

MacOS

Run the following command in a terminal window. Replace YOUR_DISCORD_TOKEN with your authentication token.

security add-generic-password -s discordo -a token -w "YOUR_DISCORD_TOKEN"

Linux

  1. Start the keyring daemon.

    eval $(gnome-keyring-daemon --start)
    export $(gnome-keyring-daemon --start)
    
  2. Create the login keyring if it does not exist already. See GNOME/Keyring for more information.

  3. Run the following command to create the token entry.

    secret-tool store service discordo username token
    
  4. When it prompts for the password, paste your token, and hit enter to confirm.

[!IMPORTANT] Automated user accounts or "self-bots" are against Discord's Terms of Service. I am not responsible for any loss caused by using "self-bots" or Discordo.