Deprecated
6cord has been deprecated in favor of [gtkcord3](https://github.com/diamondburned/gtkcord3). Important bugs may not be fixed, but PRs are still welcomed.
6cord
Installation
Method 1. (recommended, precompiled binaries)
Linux Linux (no dbus) Linux (arm64) Windows
Only do this if the CI passed (a green tick in the commit bar)
Method 2. (building from source)
git clone https://gitlab.com/diamondburned/6cord
cd 6cord && go build
./6cord
# Optional
mkdir -p ~/bin/
mv ./6cord ~/bin/
echo PATH="$HOME/bin:$PATH" >> ~/.bashrc && . ~/.bashrc # or any shellrc
Method 3. (package manager)
# Arch Linux, using your favourite AUR helper:
yay install 6cord
# Alternatively you can install '6cord-git'
# which is the latest development version.
# FreeBSD:
pkg install 6cord
# Void Linux:
xbps-install 6cord
# Alpine Linux (in the testing repo):
apk add 6cord
Getting the token
This is possible from both the web client and the Electron client.
- Hit Ctrl+Shift+I
- Switch to the
Network
tab - Find Discord API requests. This is usually called
messages
,ack
,typing
, etc - Search for the
Authorization
header. This is the token.
Running 6cord with the token
./6cord -t "TOKEN_HERE"
- If you have Gnome Keyring (usually the case on most DEs), the token would automatically be stored securely. This could be tested by running
./6cord
without any arguments.- To reset the token, override it with a new one using
-t
- To reset the token, override it with a new one using
- It is also possible to move the
6cord.toml
file from the root of this Git repository to~/.config/6cord/
, then run without any arguments.
Additional things
Quirks
- The ~ key could be used to both preview images and select a message ID
/mentions
is useless at the moment. This is planned to change in the future.- There is currently no global emoji support. This is also planned to change, along with emoji previews.
Additional keybinds
- Refer to the Quick Start section displayed when starting 6cord
- Tab to show/hide the server list
- Input field history is cycled with Alt + Up/Down
- PgUp and PgDn can be used to jump between servers in the list
- There are some Vim binds available ie ^n and ^p to move between fuzzy listed items
command-prefix
- The following variables are available:
CHANNEL
,GUILD
,USERNAME
andDISCRIM
- This follows
tview
's rich text format:- Coloring text with
[#424242]
- Bold text with
[::b]
- Both can be done with
[#424242::b]
- Reset with
[-]
,[::-]
or[-::-]
- Coloring text with
- You need to manually escape square brackets by adding an opening (
[
) bracket before a closing (]
) bracket- Example:
[${guild}]
to[${guild}[]
- Example:
Color support
6cord runs in 256 color mode most of the time. To force true color, run:
TERM=xterm-truecolor ./6cord`
(xterm-truecolor
is known to break a lot of applications including htop
, only use it with 6cord
)
To limit 6cord to strictly 16 colors, run:
TERM=xterm-basic ./6cord
To run 6cord in monochrome mode:
TERM=xterm ./6cord
Supported Image backends
Currently, Xorg is the only supported image backend. SIXEL support proved itself to be challenging with how tcell
and tview
call redraws. There is no Kitty terminal implementation in Golang that is available as a library yet (termui
has a PR with Kitty support). There are things in my priority list right now. That said, PRs are welcomed.
Screenshots
Credits
- XTerm from
- Fishy (RumbleFrog) for his
- Some people on unixporn and nix nest (ym555, tdeo, ...)
- cordless (author) for some of the functions