Skip to content

PabloPoder/DiscordCLI

Repository files navigation

Discord CLI

A command-line interface for Discord with a modern terminal UI built with Python. image

Features

  • 🎯 Real-time messaging - Send and receive Discord messages in terminal
  • 📱 Channel management - List, join, and switch between channels
  • 💬 Message history - View last 10 messages when joining channels
  • 🎨 Modern UI - Clean terminal interface with colors and formatting
  • ⌨️ Keyboard shortcuts - Efficient navigation and controls
  • 🔗 Mention support - Proper handling of Discord mentions
  • 📎 Attachment detection - Display image attachments and links

Installation

Prerequisites

  • Python 3.8 or higher
  • Discord Bot Token

Setup

  1. Clone the repository:

    git clone https://github.com/PabloPoder/DiscordCLI.git
    cd DiscordCLI
  2. Install dependencies:

    pip install -r requirements.txt

    Or using modern Python packaging:

    pip install .
  3. Configure environment: Create a .env file in the root directory:

    BOT_TOKEN=your_discord_bot_token_here
  4. Run the application:

    python main.py

Usage

Commands

  • /list - List available channels
  • /join <channel_number> - Join a specific channel
  • /join all - Show messages from all channels
  • /clear - Clear the screen
  • /help - Show help menu
  • /send <message> - Send a message (or just type directly)
  • /exit - Quit the application

Keyboard Shortcuts

  • Ctrl+Up - Focus on message area
  • Ctrl+Down - Focus on input field
  • Enter - Send message or execute command
  • Escape - Exit application

Direct Messaging

You can send messages directly without using the /send command:

  • Simply type your message and press Enter
  • The message will be sent to the currently selected channel

Project Structure

DiscordCLI/
├── main.py              # Application entry point
├── discord/
│   └── bot.py          # Discord client and event 
├── ui/
│   ├── controller.py   # UI controller and command 
│   ├── layout.py       # Terminal UI layout 
│   ├── keybindings.py  # Keyboard shortcuts
│   ├── colors.py       # Color scheme configuration
│   └── filters.py      # Terminal size filters
├── utils/
│   ├── apikeys.py      # Environment variable 
│   ├── services.py     # Message formatting 
│   ├── channels.py     # Channel configuration
│   └── ascii_art.py    # ASCII art for UI
└── requirements.txt    # Python dependencies

Configuration

Bot Setup

  1. Go to Discord Developer Portal
  2. Create a new application
  3. Go to "Bot" section
  4. Create a bot and copy the token
  5. Add the token to your .env file

Bot Permissions

Make sure your bot has the following permissions:

  • Read Messages
  • Send Messages
  • Read Message History
  • View Channels

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

License

This project is licensed under the MIT License.

Author

CoolPP - Version 1.0


欢迎体验迪斯科德命令行界面 (Welcome to Discord CLI Experience)

About

A command-line interface for Discord with a modern terminal UI built with Python.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published