Няма описание

ayntgl 82253cef01 docs(README): add sample configuration преди 4 години
.github 1525c40879 docs: update README preview преди 4 години
LICENSE badcf70953 Update LICENSE copyright holder name преди 4 години
README.md 82253cef01 docs(README): add sample configuration преди 4 години
config.go 80179a8246 feat: support w3c names and hex value colors in config (#60) преди 4 години
discord.go 14f93ee1c0 feat: mark unread channels (#65) преди 4 години
go.mod ff7aa4eef3 feat: implement discord-flavored markdown renderer (#66) преди 4 години
go.sum ff7aa4eef3 feat: implement discord-flavored markdown renderer (#66) преди 4 години
main.go 80179a8246 feat: support w3c names and hex value colors in config (#60) преди 4 години
renderer.go 14f93ee1c0 feat: mark unread channels (#65) преди 4 години
ui.go 14f93ee1c0 feat: mark unread channels (#65) преди 4 години
util.go 85438d0799 refactor: preload (append to guild TreeNode) channels upon receiving READY event (#64) преди 4 години

README.md

discordo · build license Go Report Card

Discordo is a lightweight, secure, and feature-rich Discord terminal client.

Preview

Features

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

Installation

Building from source

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

# optional
sudo mv ./discordo /usr/local/bin

Package managers

  • Arch Linux (unofficial, AUR, may be outdated): yay -S discordo-git

Usage

  1. Run the discordo executable with no arguments in a new Terminal window.
  2. Log in using the account email and password (first-time login) and click on the "Login" button to continue.

By default, Discordo utilizes OS-specific keyring to store credentials such as client authentication token. However, if you prefer not to use a keyring, you may set the token field in the configuration file (~/.config/discordo/config.json) and Discordo will prioritize the usage of Token field to login instead of keyring.

Configuration

Discordo aims to be highly configurable, it may be easily customized via a configuration file. It creates a default configuration file on the first start-up. The default and newly created configuration file is located at $HOME/.config/discordo/config.json. Here is a sample (not default) configuration file:

{
  // The client authentication token (optional)
  "Token": "",
  // Enables mouse support.
  "Mouse": true,
  // Enables OS-specific desktop notifications when the client user is mentioned in non-selected channels.
  "Notifications": true,
  // Set a custom user agent for all of the HTTP requests.
  "UserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36",
  // Set the number of messages to retrieve when a text-based channel is selected.
  "GetMessagesLimit": 30,
  // The Theme field values can be hex color codes (#f44f36) or W3C color names.
  "Theme": {
    "PrimitiveBackgroundColor": "black",
    "ContrastBackgroundColor": "blue",
    "MoreContrastBackgroundColor": "green",
    "BorderColor": "white",
    "TitleColor": "white",
    "GraphicsColor": "white",
    "PrimaryTextColor": "white",
    "SecondaryTextColor": "yellow",
    "TertiaryTextColor": "green",
    "InverseTextColor": "blue",
    "ContrastSecondaryTextColor": "darkcyan"
  },
  "Keybindings": {
    "GuildsTreeViewFocus": "Alt+Rune[1]",
    "MessagesTextViewFocus": "Alt+Rune[2]",
    "MessagesTextViewSelectPrevious": "Up",
    "MessagesTextViewSelectNext": "Down",
    "MessagesTextViewSelectFirst": "Home",
    "MessagesTextViewSelectLast": "End",
    "MessagesTextViewReplySelected": "Rune[r]",
    "MessagesTextViewMentionReplySelected": "Rune[R]",
    "MessageInputFieldFocus": "Alt+Rune[3]"
  }
}

Clipboard support

On Linux, clipboard support requires:

  • xclip or xsel for X11.
  • wl-clipboard for Wayland.

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.