Overview
This is a global view of all scheduled messages. Regular users only see their own scheduled messages, but admins can view and manage messages from all users.
/admin/scheduled-messages.
Key Statistics
The dashboard displays real-time statistics for all scheduled messages:Active
Messages with status
pending - ready to be sentPaused
Recurring messages that have been paused
Completed
Successfully sent messages (one-time or finished recurring)
Failed
Messages that failed to send due to errors
Statistics Query
FromAdminScheduledMessageController.php:51-57:
Advanced Filtering
The admin panel provides powerful filtering options to find specific messages:Filter by User
View messages from a specific user:Filter by Status
Filter by message status:pending- Active, waiting to be sentpaused- Temporarily paused (recurring only)completed- Successfully sentfailed- Failed to sendprocessing- Currently being sent
Filter by Type
Filter by schedule type:once- One-time scheduled messagerecurring- Repeating message (daily, weekly, monthly)
Filter by Webhook
View messages for a specific webhook:Filter by Date Range
Filter messages by their next send date:All filters can be combined for precise searches. For example, find all paused recurring messages from a specific user for a particular webhook.
Message Details
Each scheduled message displays:- User: Who created the message
- Webhook: Target webhook (with name and avatar)
- Status: Current message status
- Type:
onceorrecurring - Next Send: When the message will be sent next
- Send Count: How many times the message has been sent
- Content Preview: Message and embed preview
Viewing Full Details
Click on a message to view complete details at/admin/scheduled-messages/{id}:
- Complete message content
- All embed configurations
- Attached files (if any)
- Recurrence pattern (for recurring messages)
- Send history
- Error messages (if failed)
Managing Messages
Pausing Messages
Pause active recurring messages to temporarily stop them:One-time messages cannot be paused - they’re either pending or completed. Only recurring messages can be paused and resumed.
Resuming Messages
Resume paused messages to continue their schedule:Deleting Messages
Delete scheduled messages permanently:Understanding Message States
Scheduled messages go through different states in their lifecycle:State Flow Diagram
Status Definitions
FromScheduledMessage.php:
- pending: Active, waiting for next send time
- processing: Currently being sent by the queue worker
- completed: Finished (one-time sent, or recurring reached max)
- failed: Error occurred during sending
- paused: Temporarily stopped (recurring only)
Recurrence Patterns
Recurring messages support three frequencies:Daily
Sent every day at specified time
Weekly
Sent on specific days of the week
Monthly
Sent on specific day of month
Next Send Calculation
The system automatically calculates the next send time fromScheduledMessage.php:87-143:
Timezone Support: Each scheduled message can have its own timezone. The system handles timezone conversions automatically, storing all times in UTC internally.
File Attachments
Scheduled messages can include file attachments:- Stored in
storage/app/scheduled_messages/ - Maximum 10MB per file
- Automatically deleted after sending (one-time) or when message is deleted
- Related through
scheduled_message_filestable
File Lifecycle
Monitoring and Troubleshooting
Common Issues
Message stuck in 'processing'
Message stuck in 'processing'
The queue worker may have crashed or been stopped. Check:
- Queue worker status:
php artisan queue:work - Failed jobs table:
php artisan queue:failed - System logs for errors
Messages not sending at correct time
Messages not sending at correct time
Verify:
- Cron job is running:
* * * * * php artisan schedule:run - Server timezone configuration
- Message timezone setting
Failed messages with webhook errors
Failed messages with webhook errors
Common causes:
- Invalid webhook URL (deleted or changed)
- Discord API rate limits
- Message exceeds Discord limits (content too long, too many embeds)
- File attachment too large
Error Messages
When messages fail, the error is stored in theerror_message field:
API Routes Reference
All admin scheduled message routes fromweb.php:180-189:
Best Practices
Related Documentation
User Scheduled Messages
User-facing scheduled messages documentation
Dashboard
Return to admin dashboard
User Management
Manage user accounts and permissions
