https://github.com/p-obrthr/botlord
discord bot in go
https://github.com/p-obrthr/botlord
api bot bots discord discord-bot go golang raylib raylib-go sqlite sqlite3
Last synced: 2 months ago
JSON representation
discord bot in go
- Host: GitHub
- URL: https://github.com/p-obrthr/botlord
- Owner: p-obrthr
- Created: 2025-04-21T19:55:07.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-29T20:16:53.000Z (about 1 year ago)
- Last Synced: 2025-04-29T21:25:49.979Z (about 1 year ago)
- Topics: api, bot, bots, discord, discord-bot, go, golang, raylib, raylib-go, sqlite, sqlite3
- Language: Go
- Homepage:
- Size: 15.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BOTLORD
**BOTLORD** is a modular Discord bot built in Go, featuring an optional API and a graphical client using [raylib](https://github.com/gen2brain/raylib-go). The bot is designed to run standalone or integrate seamlessly with other applications via API.
## Features
### Server (Main Discord Bot)
*Handles events and executes bot commands*
- standalone go server with clean modularization
- SQLite database integration
- fully functional out of the box
- optional API wrapper support for extending functionality with external applications or services
- Dockerfile for easy containerization
- Makefile with various build and run targets
#### Environment Variables
| Variable | Description | Required |
|:---------------------|:----------------------------------------------------------|:---------|
| `DISCORD_BOT_TOKEN` | Token used for bot authentication | Yes |
| `TEXT_CHANNEL_ID` | Id of the text channel for voice join messages | No |
| `ENABLE_API` | API option: `0` disabled (default) or `1` enabled, | No |
#### Available Commands
| Command | Description |
|:-----------------------|:-----------------------------------------|
| `!hi` | Replies with a greeting. |
| `!addQuote [text]` | Adds a new quote. |
| `!deleteQuote [id]` | Deletes a quote by Id. |
| `!quotes` | Lists all stored quotes. |
| `!quote` | Displays a random quote. |
| `!addGif [url]` | Adds a GIF by URL. |
| `!deleteGif [id]` | Deletes a GIF by Id. |
| `!gifs` | Lists all stored GIFs. |
| `!gif` | Displays a random GIF. |
| `!commands` | Shows all available commands. |
#### Other functionality
- voice channel watcher: sends a message to a specified text channel when a user joins a voice channel (requires `TEXT_CHANNEL_ID` to be set)
### Client (Raylib Application)
*A GUI for managing and interacting with the bot.*
- written in Go using Raylib
- provides status information and bot control (start/stop)
- logs events and actions
- requires `ENABLE_API=1` on the server to function