Original Discord Bot Requirements (Source Spec)
This document outlines the original functional requirements for the Discord bot and admin system as provided by SecRes. These requirements represent the desired end-state capabilities and may be implemented incrementally.
Core Principles
- Discord-first experience
- Admin-controlled via dashboard (not purely chat commands)
- Minimal manual handling once orders are paid
- Inventory-aware ordering
- Role-based access to products and features
Ordering & Customer Interaction
Order Placement
- Users can place orders in a designated server channel
- Bot responses should be private to the ordering user
- Either via ephemeral responses
- Or via DMs with the bot
- Users may also DM the bot directly to place orders
Order Flow
- Users select products
- Users provide shipping information
- Users select payment method
- Order is recorded and tracked
Inventory Management
- Centralized inventory tracking
- Inventory decreases automatically when orders are placed/confirmed
- Low-inventory alerts:
- Visible in admin dashboard
- Optional announcement to @everyone in Discord
- Inventory tied directly to products
- Ability to adjust inventory manually via admin
Admin Dashboard (Primary Control Plane)
Dashboard-controlled, not bot-command-only.
Admins must be able to:
- View all orders
- Update order status
- Refund orders
- Manage inventory
- View customer information
- Configure products
- See alerts and warnings (inventory, failed payments, etc.)
Order Management
- View orders by status
- Update order state (pending → paid → shipped → refunded)
- Issue refunds
- Track fulfillment progress
- See full order history
Shipping & Fulfillment
- Customer shipping info integrated into shipping platform
- Automatic creation of shipping labels (does not necessarily auto-print)
- Shipping platform: PirateShip
- Store tracking numbers and shipment details
- Associate shipment with order
Customer Data
Store customer information:
- Discord username
- Shipping details
- Order history
Additional requirements:
- Persist customer/order relationships
- Admins can look up customers and past orders
Discounts & Promotions
- Ability to configure discounts:
- Percentage-based discounts
- Customer-specific discount codes
- “Across-the-board” discounts
- Discounts configurable via admin dashboard
- Discounts applied at checkout
Payments
Supported Payment Methods (Initial List):
-
BTC
-
Invoicing (TBD)
-
Venmo
-
Cash App
-
Payment confirmations tracked in the dashboard
-
Confirmation sent to customer after payment is received
Role-Based Access
- Role-based access to products
- Certain products only available to specific Discord roles (e.g. "Resurrected")
- Automatic role assignment upon purchase:
- Grant Discord roles after successful payment
Digital perks:
- Custom emojis
- Private channel access
- Other Discord privileges
Digital Entitlements
- Auto-assign Discord roles after purchase
- Unlock digital-only perks without shipping
- Tie entitlements to completed orders
Notifications & Alerts
Admin alerts for:
- Low inventory
- New orders
- Payment issues
Other notifications:
- Optional server-wide announcements
Customer notifications on:
- Order received
- Payment confirmed
- Order shipped
Summary (Original Intent)
The bot is intended to function as:
- A storefront
- An order management system
- An inventory system
- A shipping coordinator
- A role/entitlement engine
All primarily controlled through a central admin dashboard, with Discord acting as the customer interface.
Notes (Context for Current Architecture)
- This spec includes both manual and automated workflows
- Some payment methods are inherently manual (P2P)
- Automation is layered where APIs/webhooks permit
- The current Ledgerline architecture intentionally supports this spec incrementally, not all at once
Some payment methods are inherently manual (P2P)
Automation is layered where APIs/webhooks permit
The current Ledgerline architecture intentionally supports this spec incrementally, not all at once