Discord bot for entrepreneurs tracking business goals in 2-week Focus Periods with automated reminders and progress tracking. Built with Go and discordgo.
A Discord bot built with Go and discordgo that helps solo founders and entrepreneurs track business goals using 2-week "Focus Periods" with automated reminders.
**Bot Management (internal/bot/bot.go)**
**Configuration (internal/config/config.go)**
Environment variables from `.env`:
**Command System (internal/commands/)**
**Database Layer (internal/database/)**
- Constants: `FocusPeriodDuration` (14 days), `MinimumTasksRequired` (3), `ReminderDays` [3,7,10,12,13]
**Scheduler (internal/scheduler/scheduler.go)**
```bash
make build # Compile to bin/bootstrap-hub-bot
make run # Build and start
make deps # Download dependencies
make test # Run tests
make clean # Remove artifacts
```
```bash
make register # Register slash commands (REQUIRED after changes)
make remove-commands # Remove all commands
make invite # Show bot invite URL
```
**Important**: After adding/modifying slash commands, run `make register`.
```bash
./bin/bootstrap-hub-bot -register
./bin/bootstrap-hub-bot -remove-commands
./bin/bootstrap-hub-bot -invite
./bin/bootstrap-hub-bot # Normal operation
```
1. Create command function in `internal/commands/` returning `*Command` with definition and handler
2. Add to `GetAllCommands()` in `commands.go`
3. Run `make register`
Example interaction flow:
1. User invokes `/focus start`
2. Discord → bot's `handleInteraction()`
3. Routed to `handleFocusCommand()` → `handleFocusStart()`
4. `GetOrCreateUser()` ensures user exists
5. `GetCurrentFocusPeriod()` checks for active period
6. `CreateFocusPeriod()` creates new 14-day period if needed
7. Response embed sent back
- Guild-specific (with `DISCORD_GUILD_ID`): Instant updates
- Global (without): 1-hour propagation
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/bootstrap-hub-bot-instructions/raw