Skip to content

aditsuru-git/discord-message-proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

Discord Message Proxy

A self-hosted, real-time web dashboard for interacting with Discord channels through a bot.

Report Bug · Request Feature

Contributors Forks Stargazers Issues MIT License Last Commit

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Configuration
  5. License
  6. Acknowledgments

About The Project

This project provides a web-based dashboard that acts as a proxy for a Discord bot. It allows a user to view guilds, browse channels, and interact with messages in real-time through a clean, Discord-like user interface. All interactions—sending messages, replying, reacting, editing, and deleting—are performed by the bot on the user's behalf.

The entire application is containerized with Docker for easy setup and deployment, featuring a multi-stage build process to create a lightweight and secure production image.

Built With

React Redux NodeJS Express SocketIO TypeScript Docker

Getting Started

To get a local instance up and running, follow these steps.

Prerequisites

You will need the following software and credentials before starting.

  • Node.js (v18+)
  • Docker and Docker Compose
  • A Discord Bot Token. You can create an application and get a token from the Discord Developer Portal. Your bot will need the following intents enabled:
    • Guilds
    • GuildMessages
    • MessageContent
    • GuildMessageReactions

Installation

  1. Clone the repository:
    git clone https://github.com/aditsuru-git/discord-message-proxy.git
    cd discord-message-proxy
  2. Create a .env file from the sample. This file will hold your secret token.
    cp .env.sample .env
  3. Edit the .env file and add your Discord bot token:
    # The Discord bot's authentication token
    DISCORD_BOT_TOKEN=YOUR_DISCORD_BOT_TOKEN_HERE
  4. Build and run the application using Docker Compose. The -d flag runs the container in detached mode (in the background).
    docker compose up --build -d
    The web dashboard will be available at http://localhost:3000.

Usage

Once the application is running, open your web browser to http://localhost:3000. The interface allows you to select a server (guild) from the left-most panel, choose a channel, and view/interact with messages in real-time.

Usage Screenshot

Features

  • Real-Time Dashboard: A clean, responsive UI for interacting with Discord channels.
  • Guild & Channel Navigation: Browse all servers and text channels your bot has access to.
  • Full Message CRUD:
    • Send and reply to messages.
    • Edit and delete messages sent by the bot.
  • Reaction Support: Add or remove reactions on any message as the bot.
  • Event-Driven Backend: Uses Socket.IO for efficient, real-time communication between the frontend and the Discord bot.
  • Containerized: Fully configured with Docker and Docker Compose for a simple, one-command setup.

Configuration

The application's behavior can be modified through the .env file. The primary variable you must set is the DISCORD_BOT_TOKEN.

Variable Description Default
PORT The port the backend server will run on. 3000
NODE_ENV The Node.js environment. development
FRONTEND_URL The URL of the frontend (for CORS in dev mode). http://localhost:5173
DISCORD_BOT_TOKEN Required. Your Discord bot's secret token. null

License

Distributed under the MIT License. See LICENSE for more information.

Acknowledgments

This project relies on these fantastic open-source libraries and services.

(back to top)

About

A self-hosted, real-time web dashboard for interacting with Discord channels through a bot.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published