Skip to content

brokechubb/discordo

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,225 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Discordo

Discordo is a lightweight, secure, and feature-rich Discord terminal client with TIP.CC autoclaim support.

Features

  • Lightweight and fast terminal-based Discord client
  • Highly configurable with TOML configuration files
  • Mouse & clipboard support with image paste capability
  • File attachments and media preview
  • Desktop notifications with sound support
  • 2-Factor & QR code authentication
  • Discord-flavored markdown rendering
  • Colored usernames in DM conversations for better visibility
  • Tip.cc integration with automated airdrop detection (focused channel only)
  • Database-driven triviadrop automation with 95%+ accuracy using Open Trivia Database
  • Smart trivia answering with exact question matching from 4,000+ question database
  • Arrow key navigation (vim-style keys deprecated)
  • Persistent status indicators
  • Cross-platform support (Windows, macOS, Linux)
  • Secure token storage in OS keyring

Installation

Option 1: Download Pre-compiled Binary (Recommended)

Download the appropriate binary for your platform from the latest release:

Platform Binary Command
Linux AMD64 discordo-Linux-amd64 wget https://github.com/brokechubb/discordo/releases/latest/download/discordo-Linux-amd64 && chmod +x discordo-Linux-amd64
Linux ARM64 discordo-Linux-arm64 wget https://github.com/brokechubb/discordo/releases/latest/download/discordo-Linux-arm64 && chmod +x discordo-Linux-arm64
Windows discordo-windows-amd64.exe wget https://github.com/brokechubb/discordo/releases/latest/download/discordo-windows-amd64.exe
macOS Intel discordo-macOS-amd64 wget https://github.com/brokechubb/discordo/releases/latest/download/discordo-macOS-amd64 && chmod +x discordo-macOS-amd64
macOS Apple Silicon discordo-macOS-arm64 wget https://github.com/brokechubb/discordo/releases/latest/download/discordo-macOS-arm64 && chmod +x discordo-macOS-arm64

Option 2: Building from Source

git clone https://github.com/brokechubb/discordo
cd discordo
go build -tags noaudio .

For detailed installation instructions and release information, see the Release Guide.

Build Tags

Discordo supports different build configurations:

  • Linux (default): go build -tags noaudio . - Disables audio dependencies for better compatibility
  • Full audio: go build . - Includes audio support (use on platforms with audio libraries)

Dependencies

Wayland clipboard support

x11-dev is required for X11 clipboard compatibility:

  • Ubuntu: apt install xwayland
  • Arch Linux: pacman -S xorg-xwayland

Go requirements

  • Go 1.21 or later
  • Git for cloning the repository

Optional dependencies

  • Notification daemon (for desktop notifications)
  • Keyring service (for secure token storage)

Updating Discordo

Discordo is actively developed with frequent updates. Keep your installation current:

Quick Update (Recommended)

cd discordo
git pull origin main
go build -tags noaudio .

Fresh Installation

# Backup your configuration first
cp ~/.config/discordo/config.toml ~/.config/discordo/config.toml.backup

# Get the latest version
rm -rf discordo
git clone https://github.com/brokechubb/discordo
cd discordo
go build -tags noaudio .

# Restore configuration if needed
cp ~/.config/discordo/config.toml.backup ~/.config/discordo/config.toml

Configuration Updates

New features may add configuration options. Your existing configuration will continue to work with new defaults. See the Configuration Guide for detailed migration instructions.

Usage

Basic Usage

  1. Run the discordo executable with no arguments:

    discordo
  2. Enter your email and password and click on the "Login" button to continue.

Command-Line Options

discordo [flags]

Flags:
  -token string
        Authentication token (can also be set via DISCORDO_TOKEN environment variable)
  -config-path string
        Path to configuration file (default: OS-specific location)
  -log-path string
        Path to log file (default: OS-specific location)
  -log-level string
        Log level: debug, info, warn, error (default: "info")

Environment Variables

  • DISCORDO_TOKEN: Your Discord authentication token
  • XDG_CONFIG_HOME: Override default config directory (Unix)
  • HOME: User home directory (used for config paths)

Token Authentication

If you prefer to use an authentication token:

# Using command-line flag
discordo --token "YOUR_DISCORD_TOKEN"

# Using environment variable
export DISCORDO_TOKEN="YOUR_DISCORD_TOKEN"
discordo

The token is stored securely in the default OS-specific keyring for subsequent sessions.

Key Controls

Navigation

  • Arrow Keys (↑↓): Navigate guilds, channels, and messages
  • Home/End: Jump to first/last item in lists
  • Ctrl+G: Focus guilds tree
  • Ctrl+T: Focus messages list
  • Ctrl+Space: Focus message input

Actions

  • Enter: Select channel/send message
  • Esc: Cancel current action
  • Ctrl+A: Toggle Tip.cc auto-claim on/off
  • Ctrl+B: Toggle guilds tree visibility
  • Ctrl+C: Quit application
  • Ctrl+D: Logout and remove token
  • Ctrl+K: Clear notifications
  • Ctrl+H: Focus previous widget
  • Ctrl+L: Focus next widget

For complete keybindings and configuration options, see the Configuration Guide.

Tip.cc Autoclaim

Discordo includes automated Tip.cc airdrop detection and claiming with a persistent status indicator:

  • Auto-Confirmation: Always automatically clicks "Confirm" buttons in confirmation dialogs
  • Drop Claiming: Toggle automatic drop claiming with Ctrl+A (focused channel only)
  • Persistent Status: Real-time autoclaim status displayed in the top bar
  • Focused Channel Only: Drop claiming only works in the currently focused channel for safety
  • One-Touch Toggle: Press Ctrl+A to instantly toggle drop claiming on/off
  • Visual Feedback: Green indicator when enabled, red when disabled
  • Configurable Delay: Adjustable delay to prevent race conditions
  • Debug Mode: Detailed logging for troubleshooting
  • Manual Override: Always available to manually claim drops
  • Smart Detection: Identifies confirmation dialogs by content and button labels
[tipcc]
auto_claim = true    # Enable autoclaim
debug = true        # Show detection logs
delay_ms = 2100      # Delay before claiming

Status Indicator:

  • 🟒 Auto-claim ON (focused channel) - Ready to claim drops and auto-confirmations
  • πŸ”΄ Auto-claim OFF - Manual drop claiming + auto-confirmations

Configuration

Discordo is highly configurable through a TOML configuration file. You can customize behavior, keybindings, themes, and more.

Configuration Location

  • Unix: $XDG_CONFIG_HOME/discordo/config.toml or $HOME/.config/discordo/config.toml
  • macOS: $HOME/Library/Application Support/discordo/config.toml
  • Windows: %AppData%/discordo/config.toml

Getting Started

Discordo uses built-in defaults if no configuration file exists. For comprehensive documentation of all options including:

  • Keybinding customization
  • Theme configuration
  • Notification settings
  • Tip.cc integration
  • Advanced options

See the complete Configuration Guide.

Quick Example

# Basic customization
mouse = true
markdown = true
status = "online"

# Custom keybindings
[keys]
focus_guilds_tree = "Alt+1"
focus_messages_list = "Alt+2"

# Theme tweaks
[theme.messages_list]
mention_style = { foreground = "magenta" }
dm_user_color = "green"  # Color for DM usernames

# Tip.cc autoclaim (focused channel only)
[tipcc]
auto_claim = true
debug = true
delay_ms = 2100

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.

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.

security add-generic-password -s discordo -a token -w "YOUR_DISCORD_TOKEN"

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" service discordo username token
  1. When it prompts for the password, paste your token, and hit enter to confirm.

Development

Discordo is open source and welcomes contributions! The project is written in Go and uses the tview library for the terminal UI.

Current Branch: main

This branch includes the latest features:

  • Tip.cc autoclaim functionality
  • Arrow key navigation (replacing vim-style keys)
  • Enhanced notification system
  • Improved configuration options
  • Bug fixes and performance improvements

Contributing

We welcome all types of contributions:

  • Bug reports and feature requests
  • Code contributions and improvements
  • Documentation enhancements
  • Testing and feedback

See the Contributing Guide for detailed development setup and guidelines.

Development Commands

# Build the application (Linux default - no audio dependencies)
go build -tags noaudio .

# Run the application (Linux default - no audio dependencies)
go run -tags noaudio .

# Format code
go fmt ./...

# Run static analysis
go vet ./...

# Run tests (when available)
go test ./...

Building from Source

git clone https://github.com/brokechubb/discordo
cd discordo
go build -tags noaudio .

For development commands and coding standards, see AGENTS.md.

Changelog

For version history and upcoming features, see the CHANGELOG.md.

Releases

For pre-compiled binaries and installation instructions, see the Release Guide.

Recent Changes (main branch)

  • Fixed: DM conversation user coloring - users now display with proper colored usernames
  • Added: Configurable DM user color theme setting
  • Fixed: Key binding conflict - changed clear notifications from Ctrl+N to Ctrl+K
  • Added: Persistent Tip.cc autoclaim status indicator
  • Changed: Default navigation from vim-style (j/k) to arrow keys
  • Enhanced: Configuration system with better documentation
  • Improved: Error handling and stability

Support

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.

About

A lightweight, secure, and feature-rich Discord terminal (TUI) client w/ TIP.CC AUTOCLAIM

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Go 99.1%
  • Nix 0.9%