A furry-friendly Discord bot that delivers scheduled motivational quotes and heartwarming messages to your server. Whether you need inspiration, a positivity boost, or just a reason to smile, FluffBoost is here to make every day better with per-guild scheduling, premium subscriptions, and community-driven quotes.
Spread joy, one quote at a time.
- Scheduled Motivational Quotes — Automatically delivered to configured channels on a per-guild schedule with reliable delivery across shards.
- Per-Guild Scheduling — Each server sets its own delivery time and timezone.
- Premium Subscriptions — Optional premium tier via Discord App Subscriptions with custom frequency (daily, weekly, or monthly), time, and timezone selection.
- Community Suggestions — Users can suggest quotes for server admins to review, approve, or reject.
- Rotating Bot Status — Customizable bot presence that cycles through activities on a configurable interval.
- Admin Dashboard — Manage quotes, activities, and suggestion reviews through slash commands.
- Health Check API — Express-based health endpoint for monitoring and orchestration.
- Sharded Architecture — Scales across multiple shards with Discord.js ShardingManager.
- Invite FluffBoost to your server using this link.
- Use
/setup channelto configure which channel receives quotes. - Enjoy daily motivation delivered to your server.
Step-by-step walkthrough: the Guide.
FluffBoost uses Discord slash commands grouped by role.
| Command | Description |
|---|---|
/about |
Learn about the bot and its creators |
/help |
View available commands |
/invite |
Get the bot invite link |
/quote |
Receive an instant motivational quote |
/suggestion |
Suggest a quote for review |
/premium |
View premium subscription info |
/changelog |
View recent changes |
| Command | Description |
|---|---|
/admin quote create |
Add a new motivational quote |
/admin quote list |
List all quotes |
/admin quote remove |
Remove a quote |
/admin activity create |
Add a bot status activity |
/admin activity list |
List all activities |
/admin activity remove |
Remove an activity |
/admin suggestion approve |
Approve a suggested quote |
/admin suggestion reject |
Reject a suggested quote |
/admin suggestion list |
List pending suggestions |
/admin suggestion stats |
View suggestion statistics |
| Command | Description |
|---|---|
/setup channel |
Set the quote delivery channel |
/setup schedule |
Customize delivery frequency and time |
| Command | Description |
|---|---|
/owner premium test-create |
Create a test entitlement |
/owner premium test-delete |
Delete a test entitlement |
| Layer | Technology |
|---|---|
| Runtime | Bun |
| Language | TypeScript 5.x (strict mode) |
| Discord Library | Discord.js v14 |
| Database | PostgreSQL 16 via Drizzle ORM |
| Job Queue | BullMQ with Redis 7 |
| HTTP Server | Express 5 |
| Containerization | Docker (multi-stage, Bun) |
| Monorepo | Bun workspaces + Turborepo |
| Marketing & docs | Next.js 16 + Fumadocs (static → GitHub Pages) |
| CI/CD | GitHub Actions |
| Deployment | Docker on Dokploy |
- Bun
- PostgreSQL 16 (or use Docker Compose)
- Redis 7 (or use Docker Compose)
- A Discord application with bot token
Run everything from the repository root — Bun resolves the whole workspace.
-
Clone the repository:
git clone https://github.com/MrDemonWolf/fluffboost.git cd fluffboost -
Install dependencies:
bun install
-
Start local infrastructure:
docker compose up -d
-
Copy and configure environment variables:
cp apps/discord/.env.example apps/discord/.env
-
Sync the database schema:
bun run db:push
-
Start the bot in watch mode:
bun run dev:discord
Run these from the repository root; they fan out through Turborepo.
bun run dev:discord— Start the bot with hot reloadbun run dev:docs— Start the marketing/docs sitebun run lint/bun run lint:check— ESLint (with / without fixes)bun run format— Format code with Prettierbun run typecheck— TypeScript type checkingbun run test/bun run test:coverage— Test suites (with coverage)bun run db:push— Sync schema to database (dev)bun run db:generate— Generate a Drizzle migrationbun run db:migrate— Run migrations (production)bun run db:studio— Open Drizzle Studio UI
- ESLint with TypeScript and Airbnb base config
- Strict TypeScript (
noUnusedLocals,noUnusedParameters,noImplicitReturns,noUncheckedIndexedAccess) - bun:test + Sinon test framework
- supertest for HTTP endpoint testing
- CI runs via GitHub Actions with Bun
fluffboost/
├── apps/
│ ├── discord/ # The Discord bot
│ │ ├── src/
│ │ │ ├── api/ # Express health-check API
│ │ │ ├── commands/ # Slash commands (admin/, owner/, setup/)
│ │ │ ├── database/ # Drizzle ORM instance and schema
│ │ │ ├── events/ # Discord event handlers
│ │ │ ├── redis/ # Redis/IORedis connection
│ │ │ ├── utils/ # Shared utilities
│ │ │ └── worker/ # BullMQ worker and jobs
│ │ ├── tests/ # Test suite (mirrors src/)
│ │ ├── drizzle/ # Drizzle migration SQL files
│ │ ├── Dockerfile # Multi-stage build (turbo prune)
│ │ └── docker-entrypoint.sh
│ ├── docs/ # Marketing site + docs (Next.js + Fumadocs)
│ │ ├── app/ # Landing page + docs routes
│ │ └── content/ # user/ (Guide) + developer/ docs (MDX)
│ └── web/ # (reserved) web dashboard — coming soon
├── docker-compose.yml # Local PostgreSQL + Redis
├── turbo.json # Turborepo pipeline
└── package.json # Bun workspace root
Documentation is published at mrdemonwolf.github.io/fluffboost and split by audience:
- Guide — for server
owners: setup, scheduling, suggestions, premium, and a
command reference.
Source:
apps/docs/content/user/. - Developers —
self-hosting, configuration, database,
deployment,
testing, and contributing. Source:
apps/docs/content/developer/.
The site is a static export built from apps/docs and deployed by
.github/workflows/deploy-docs.yml on every push to main.
Deploying the bot? The deployment guide covers both a fresh Dokploy setup and upgrading an existing pre-monorepo deployment — where the only production change is the Dockerfile path.
For detailed changelog information, see CHANGELOG.md.
If you have any questions, suggestions, or feedback:
- Website & docs: mrdemonwolf.github.io/fluffboost
- Discord: Join my server
Made with love by MrDemonWolf, Inc.
