説明なし

ayn2op 6dfaeec638 refactor: rename fetchMembers to requestGuildMembers 1 年間 前
.github 62db8ab7ec docs(README): update preview 1 年間 前
cmd 6dfaeec638 refactor: rename fetchMembers to requestGuildMembers 1 年間 前
internal edd3523514 feat: add nicknames and role colors to usernames (#531) 1 年間 前
.gitignore 7ef0f71b7b feat: implement keybindings for opening and downloading attachments (#137) 4 年 前
LICENSE 74d731a0e1 Update license and module path 3 年 前
README.md d9ba9e4fd4 docs(README): remove hyperlink 1 年間 前
go.mod aeca36e06c refactor(login): use (*http.Client).Login instead 1 年間 前
go.sum aeca36e06c refactor(login): use (*http.Client).Login instead 1 年間 前
main.go 1628535b5d refactor: use cobra (#515) 1 年間 前

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
  • 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)
    
  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 --label="DISCORD TOKEN HERE" service discordo username token
    
  4. 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.