# ayn2op/discordo

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/ayn2op-discordo).**

5,284 stars · 187 forks · Go · gpl-3.0

## Links

- GitHub: https://github.com/ayn2op/discordo
- awesome-repositories: https://awesome-repositories.com/repository/ayn2op-discordo.md

## Topics

`client` `cross-platform` `discord` `discord-bot` `discordo` `go` `golang` `lightweight` `linux` `macos` `terminal` `terminal-based` `tui` `windows`

## Description

Discordo is a command-line interface client for Discord that enables terminal-based communication. It allows users to access servers and send messages through a keyboard-driven text interface instead of a web browser or desktop application.

The client features a customizable interface where users can modify themes, keybindings, and general settings via a flat-file configuration system.

Identity verification is handled through user account authentication using either authentication tokens or a QR-code scanning flow. These mechanisms establish secure sessions to communicate with the Discord API.

## Tags

### Networking & Communication

- [CLI Clients](https://awesome-repositories.com/f/networking-communication/discord-integrations/cli-clients.md) — Provides a full command-line interface client for interacting with Discord servers and messaging. ([source](https://cdn.jsdelivr.net/gh/ayn2op/discordo@main/README.md))
- [User Clients](https://awesome-repositories.com/f/networking-communication/discord-integrations/user-clients.md) — Provides a command-line interface for interacting with Discord servers without a web browser.
- [Terminal-Based Messaging](https://awesome-repositories.com/f/networking-communication/terminal-based-messaging.md) — Enables sending and receiving messages in a chat environment directly from the command line.

### Development Tools & Productivity

- [Discord REST Clients](https://awesome-repositories.com/f/development-tools-productivity/rest-apis/rest-api-clients/discord-rest-clients.md) — Communicates with the Discord API using authentication tokens to manage servers and messages.
- [Client Customizations](https://awesome-repositories.com/f/development-tools-productivity/rest-apis/rest-api-clients/client-customizations.md) — Enables personalization of the interface look and behavior through custom configuration files.

### Security & Cryptography

- [Token-Based Authentication](https://awesome-repositories.com/f/security-cryptography/token-based-authentication.md) — Maintains persistent user identity by transmitting unique authentication tokens within HTTP request headers.
- [QR-Code Handshakes](https://awesome-repositories.com/f/security-cryptography/user-authentication-flows/qr-code-handshakes.md) — Implements a QR-code scanning flow to verify user identity and establish secure sessions.
- [Discord Identity Providers](https://awesome-repositories.com/f/security-cryptography/user-authentication-strategies/discord-identity-providers.md) — Verifies user identity using Discord-specific authentication tokens or QR code scans.
- [User Authentication Systems](https://awesome-repositories.com/f/security-cryptography/user-authentication-systems.md) — Provides systems for verifying user identities via authentication tokens or QR code scanning. ([source](https://cdn.jsdelivr.net/gh/ayn2op/discordo@main/README.md))

### User Interface & Experience

- [Terminal User Interfaces](https://awesome-repositories.com/f/user-interface-experience/terminal-user-interfaces.md) — Features a keyboard-driven text interface with customizable themes and keybindings for chat communication.

### Data & Databases

- [Configuration Files](https://awesome-repositories.com/f/data-databases/flat-file-storage/configuration-files.md) — Loads user preferences and keybindings from local text files into memory at startup.

### DevOps & Infrastructure

- [Application Behavior Configurations](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/application-settings-management/application-behavior-configurations.md) — Allows users to personalize their experience by modifying keybindings and themes via configuration files. ([source](https://cdn.jsdelivr.net/gh/ayn2op/discordo@main/README.md))

### Operating Systems & Systems Programming

- [Input Event Loops](https://awesome-repositories.com/f/operating-systems-systems-programming/input-event-loops.md) — Implements a non-blocking input event loop to process user commands and interface interactions.
