132 lines
4.1 KiB
Markdown
132 lines
4.1 KiB
Markdown
# Discordo · [](https://discord.com/invite/VzF9UFn2aB) [](https://github.com/ayn2op/discordo/actions/workflows/ci.yml) [](https://goreportcard.com/report/github.com/ayn2op/discordo) [](https://github.com/ayn2op/discordo/blob/master/LICENSE)
|
|
|
|
Discordo is a lightweight, secure, and feature-rich Discord terminal client. Heavily work-in-progress, expect breaking changes.
|
|
|
|

|
|
|
|
## Features
|
|
|
|
- Lightweight
|
|
- Configurable
|
|
- Mouse & clipboard support
|
|
- Attachments
|
|
- Notifications
|
|
- 2-Factor & QR code authentication
|
|
- Discord-flavored markdown
|
|
|
|
## Installation
|
|
|
|
### Prebuilt binaries
|
|
|
|
You can download and install a [prebuilt binary here](https://nightly.link/ayn2op/discordo/workflows/ci/main) for Windows, macOS, or Linux.
|
|
|
|
### Package managers
|
|
|
|
- Arch Linux: `yay -S discordo-git`
|
|
- Gentoo (available on the guru repos as a live ebuild): `emerge net-im/discordo`
|
|
- FreeBSD: `pkg install discordo` or via the ports system `make -C /usr/ports/net-im/discordo install clean`.
|
|
- Nix: Add `pkgs.discordo` to `environment.systemPackages` or `home.packages`.
|
|
|
|
- Windows (Scoop):
|
|
|
|
```sh
|
|
scoop bucket add vvxrtues https://github.com/vvirtues/bucket
|
|
scoop install discordo
|
|
```
|
|
|
|
### Building from source
|
|
|
|
```bash
|
|
git clone https://github.com/ayn2op/discordo
|
|
cd discordo
|
|
go build .
|
|
```
|
|
|
|
### Wayland clipboard support
|
|
|
|
`wl-clipboard` is required for clipboard support.
|
|
|
|
## Usage
|
|
|
|
### Password
|
|
|
|
1. Run the `discordo` executable with no arguments.
|
|
|
|
2. Enter your email and password and click on the "Login" button to continue.
|
|
|
|
### Token
|
|
|
|
Provide the `token` command-line flag to the executable.
|
|
|
|
```sh
|
|
discordo --token "OTI2MDU5NTQxNDE2Nzc5ODA2.Yc2KKA.2iZ-5JxgxG-9Ub8GHzBSn-NJjNg"
|
|
```
|
|
|
|
Alternatively, set the value of the `DISCORDO_TOKEN` environment variable to the authentication token.
|
|
|
|
> [!TIP]
|
|
> You can manually set the token to the keyring using the instructions [here](#manually-adding-token-to-keyring).
|
|
|
|
### QR
|
|
|
|
1. Run the `discordo` executable with no arguments.
|
|
|
|
2. Click on the "Login with QR" button.
|
|
|
|
3. Follow the instructions in the QR Login screen.
|
|
|
|
## 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`
|
|
|
|
Discordo uses the default configuration if a configuration file is not found in the aforementioned path; however, the default configuration file is not written to the path. [The default configuration can be found here](./internal/config/config.toml).
|
|
|
|
## FAQ
|
|
|
|
### Manually adding token to keyring
|
|
|
|
Do this if you get the error:
|
|
|
|
> failed to get token from keyring: secret not found in keyring
|
|
|
|
#### Windows
|
|
|
|
Run the following command in a terminal window. Replace `YOUR_DISCORD_TOKEN` with your authentication token.
|
|
|
|
```sh
|
|
cmdkey /add:discordo /user:token /pass:YOUR_DISCORD_TOKEN
|
|
```
|
|
|
|
#### MacOS
|
|
|
|
Run the following command in a terminal window. Replace `YOUR_DISCORD_TOKEN` with your authentication token.
|
|
|
|
```sh
|
|
security add-generic-password -s discordo -a token -w "YOUR_DISCORD_TOKEN"
|
|
```
|
|
|
|
#### Linux
|
|
|
|
1. Start the keyring daemon.
|
|
|
|
```sh
|
|
eval $(gnome-keyring-daemon --start)
|
|
export $(gnome-keyring-daemon --start)
|
|
```
|
|
|
|
2. Create the `login` keyring if it does not exist already. See [GNOME/Keyring](https://wiki.archlinux.org/title/GNOME/Keyring) for more information.
|
|
|
|
3. Run the following command to create the `token` entry.
|
|
|
|
```sh
|
|
secret-tool store --label="Discord Token" service discordo username token
|
|
```
|
|
|
|
4. When it prompts for the password, paste your token, and hit enter to confirm.
|
|
|
|
> [!IMPORTANT]
|
|
> 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.
|