🤖 Discord GitHub Bot

Manage GitHub Issues Without Leaving Discord

Go 1.25+ Discord Bot GitHub API Docker Ready MIT License

🎯 Why This Bot?

Stop context-switching between Discord and GitHub. Manage your entire issue workflow from the comfort of your Discord server. Whether you're tracking bugs, managing features, or collaborating with your team, this bot brings GitHub's power directly to Discord.

Built with security in mind — Personal OAuth authentication ensures all actions are attributed correctly, and AES-256-GCM encryption keeps your tokens safe.

✨ Features

🔐 Secure Authentication

  • Personal OAuth - Each user authenticates with their own GitHub account
  • AES-256-GCM Encryption - Tokens encrypted at rest
  • Ephemeral Auth Links - Private authentication messages

⚡ Issue Management

  • Create issues with rich descriptions
  • List issues (open, closed, or all)
  • View detailed issue information
  • Close issues directly from Discord
  • Comment and collaborate seamlessly

🎛️ Smart Configuration

  • Channel-Specific Defaults - Set repository per channel
  • Project Integration - Link to GitHub Projects with pagination and filtering
  • Modern Slash Commands - Intuitive autocomplete

🐳 Deployment Ready

  • Docker Support - One-command deployment
  • Docker Compose - Production-ready setup
  • Persistent Storage - Volume-mounted database

🚀 Getting Started

Choose the best option for your needs:

☁️ Use Hosted Version

Recommended for most users

  • ✅ Zero configuration required
  • ✅ Always up-to-date
  • ✅ Instant setup (1 click)
  • ✅ No server costs
Invite Bot

🏠 Self-Host

For advanced users

  • ✅ Full control over your data
  • ✅ Custom modifications possible
  • ✅ Run on private networks
  • ✅ No external dependencies
Self-Hosting Guide

🤔 Which Option Should I Choose?

Feature Hosted Version Self-Hosted
Setup Time < 1 minute ~15-30 minutes
Technical Knowledge None required Basic Docker/Go knowledge
Cost Free Server costs (if applicable)
Maintenance Automatic Manual updates
Data Control Hosted by bot provider Full control
Custom Features Not available Modify as needed
Private Network

📚 Usage

🎯 Getting Started

The first time you use the bot, authenticate with your GitHub account:

/gh-auth - Get your personal OAuth link (only you can see it)

Click the link, authorize on GitHub, and you're ready!

🎮 Command Reference

Command Description Example
/gh-issue-create Create a new issue /gh-issue-create title:"Login bug" body:"Users can't sign in"
/gh-issue-list List issues (open/closed/all), with pagination and filtering /gh-issue-list state:open
/gh-issue-view View detailed issue info /gh-issue-view number:42
/gh-issue-close Close an issue with a reason (completed, not_planned, or duplicate) /gh-issue-close number:42 state_reason:completed
/gh-issue-comment Add a comment to an issue /gh-issue-comment number:42 comment:"Fixed!"
/gh-project-item-list List project items (open/closed/all), with pagination and filtering /gh-project-item-list project:123 state:open
/gh-project-item-create Create a new project item /gh-project-item-create project:123 title:"New Feature" body:"Implement X"
/gh-project-item-view View detailed project item information /gh-project-item-view project:123 item-id:456
/gh-project-item-archive Archive a project item /gh-project-item-archive project:123 item-id:456
/gh-set-repo Set default repo for channel /gh-set-repo repo:owner/repository
/gh-unauth Remove authentication /gh-unauth

🔒 Security

🔐 Token Encryption AES-256-GCM encryption at rest
👤 Personal Auth Each user uses their own GitHub account
🙈 Ephemeral Messages Auth links visible only to requesting user
✅ OAuth 2.0 Standard flow with state validation
🛡️ No Shared Secrets Zero token sharing between users