Nessuna descrizione

hollisticated-horse 39506fa622 docs(readme): add keybindings section (#482) 1 anno fa
.github e141cb97d0 Revert "Initialize Go workspace (#483)" 1 anno fa
cmd 2b151ca029 feat(config): add status field (#506) 1 anno fa
internal eeb54e0577 refactor(config): alignment 1 anno fa
.gitignore 7ef0f71b7b feat: implement keybindings for opening and downloading attachments (#137) 4 anni fa
LICENSE 74d731a0e1 Update license and module path 3 anni fa
README.md 39506fa622 docs(readme): add keybindings section (#482) 1 anno fa
go.mod 0f6e2c46d3 build: upgrade go deps to latest 1 anno fa
go.sum 0f6e2c46d3 build: upgrade go deps to latest 1 anno fa
main.go e141cb97d0 Revert "Initialize Go workspace (#483)" 1 anno fa

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

  • Lightweight
  • Secure
  • Configurable
  • Cross-platform
  • Minimalistic
  • Feature-rich

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.
  • NixOS: nix-shell -p discordo

  • 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.

Keymaps

Global

  • j: Navigate down (any context except input).
  • k: Navigate up (any context except input).
  • Esc: Reset message selection or close the channel selection popup.
  • Ctrl+C: Quit the application.
  • ⚠️ Ctrl+D: Delete credentials (requires re-login upon restart).

Message Input

  • Alt+Enter: Add a new line to the current text.
  • Ctrl+W / Alt+Backspace: Delete the last word.
  • Up: Move to the previous line.
  • Down: Move to the next line.
  • Ctrl+U: Delete to the start of the line.
  • Enter: Send the message.
  • Ctrl+E: Open message input in your default $EDITOR.

Message Text

  • r: reply selected message.
  • R: reply selected message and mention the user who sent it.
  • d: delete selected message.
  • y: yank (copy) selected message content.

Guilds Tree

  • Ctrl+g: Switch to group/server channel selection.
  • Ctrl+m: Expand a channel/server.
  • Ctrl+r: Quick-select a channel.
  • Ctrl+b: Hide the channels sidebar.
  • Ctrl+t: Switch to the currently selected channel.
  • Ctrl+p: Switch to the user input box.
  • g: navigate to the first item.
  • G: navigate to the last item

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

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

  1. First, start the keyring daemon

    eval $(gnome-keyring-daemon --start)
    export $(gnome-keyring-daemon --start)
    
  2. Create a keyring using seahorse application if a keyring doesn't already exist.

  3. Add the token secret using

    secret-tool store --label="Discord Token" service discordo username token
    
  4. When it prompts for the password, paste your token, and that's it!

Disclaimer

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.