Tests And Linting Documentation Building
Warning
This repository holds very broken code. It is not recommended to use this code in any way. It is currently being used to learn the creation of a Discord bot, used by developers to enhance their community/guild experience with features like
- GitHub integration
- Upload Threads/Forum Posts to GitHub discussions
- Sync commit contributions for a repo or organization to a Discord role (Commit Club type gamification)
- Create GitHub issue from thread, forum post, or comment
and whatever else is found to be useful.
All of this may go down in flames, though... so... yeah - good luck π
The Discord bot is built on the Discord.py v2 library.
The web service is a Litestar application. It is utilizing Jinja2 templating, TailwindCSS, DaisyUI, and Feather icons for the front end, and the backend is using the Litestar-provided utilities for routing, middleware, and more.
Byte is currently deployed to Railway for both the bot and the web service in production and testing.
Byte Bot uses a microservices architecture with Docker Compose for local development.
# 1. Clone the repository git clone https://github.com/JacobCoffee/byte.git cd byte # 2. Configure environment cp .env.docker.example .env # Edit .env with your Discord token and other credentials # 3. Start all services make docker-up # 4. Access the application # API: http://localhost:8000 # API Docs (Scalar): http://localhost:8000/api/scalar # API Docs (Swagger): http://localhost:8000/api/swagger
π Full Docker Guide: See docs/docker-setup.md for comprehensive documentation including:
- Configuration options
- Development workflow with hot-reload
- Database migrations
- Troubleshooting
- Production deployment
For development without Docker:
# Install dependencies uv sync # Start PostgreSQL (via Docker) make infra-up # Run database migrations uv run app database upgrade # Start services make run-dev # Runs bot + web + frontend watcher
Alternative: Use the provided nixpack file for Nixpacks-based deployments.
All contributions are welcome! Please see CONTRIBUTING for more information.
### UI Examples
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!