No description
Find a file
2025-04-30 14:29:04 -04:00
.github docs(README): update preview 2025-03-30 12:22:58 -04:00
cmd fix: do not log headers 2025-04-30 14:29:04 -04:00
internal feat: add log-level flag 2025-04-30 14:27:29 -04:00
.gitignore feat: implement keybindings for opening and downloading attachments (#137) 2022-03-13 22:22:10 +04:00
go.mod refactor(login): use (*http.Client).Login instead 2025-04-29 23:52:30 -04:00
go.sum refactor(login): use (*http.Client).Login instead 2025-04-29 23:52:30 -04:00
LICENSE Update license and module path 2022-12-16 19:24:29 +05:30
main.go refactor: use cobra (#515) 2025-03-22 01:29:17 -04:00
README.md docs(README): remove hyperlink 2025-04-18 20:32:15 -04:00

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

  • 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

  • Ctrl+G: Focus Guilds Tree
  • Ctrl+T: Focus Messages Text
  • Ctrl+P: Focus Message Input
  • Ctrl+B: Toggle Guilds Tree (sidebar)
  • Esc: Reset message selection or close the channel selection popup.
  • Ctrl+C: Quit the application.
  • Ctrl+D: Log out and remove the authentication token from keyring (requires re-login upon restart).

Navigation

  • k: Select Previous (any context except input)
  • j: Select Next (any context except input)
  • g: Select First (any context except input)
  • G: Select Last (any context except input)

Guilds Tree

  • Enter: Select the currently highlighted text-based channel or expand a guild or channel.

Message Text

  • s: Select the message reference (reply) of the selected channel.
  • p: Select the pinned message.
  • r: Reply to the selected message.
  • R: Reply (with mention) to the selected message.
  • d: Delete the selected message.
  • y: Yank (copy) the selected message's content.
  • o: Open the selected message's attachments in the default browser application.

Message Input

  • Alt+Enter: Insert a new line to the current text.
  • Enter: Send the message.
  • Ctrl+E: Open message input in your default $EDITOR.
  • Esc: Remove existing text or cancel reply.

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

MacOS

Run the following command in a terminal window with sudo to create the token entry.

security add-generic-password -s discordo -a token -w "DISCORD TOKEN HERE"

Linux

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

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

secret-tool store --label="DISCORD TOKEN HERE" service discordo username token
  1. When it prompts for the password, paste your token, and hit enter to confirm.

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.