Set up notifications to stay informed about audiobook request processing, approvals, and system status.
Send notifications to Discord channels with rich embeds.
Cross-platform push notifications to mobile devices.
Self-hosted notification service.
Simple HTTP-based notification service.
-
Create Discord Webhook:
- Go to your Discord server settings
- Navigate to Integrations โ Webhooks
- Click "New Webhook"
- Copy the webhook URL
-
Configure in
.env:DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/your/webhook/url
-
Enable in
config.yaml:notifications: discord: enabled: true include_cover_art: true include_metadata: true
-
Create Pushover Account:
- Sign up at https://pushover.net
- Note your User Key
- Create an application for API Token
-
Configure in
.env:PUSHOVER_USER_KEY=your-pushover-user-key PUSHOVER_API_TOKEN=your-pushover-api-token
-
Enable in
config.yaml:notifications: pushover: enabled: true priority: 0 # -2 to 2 priority level sound: "pushover" # Notification sound
-
Install Gotify Server:
# Docker example docker run -d -p 80:80 -v gotify-data:/app/data gotify/server -
Configure in
.env:GOTIFY_URL=https://gotify.example.com GOTIFY_TOKEN=your-gotify-application-token
-
Enable in
config.yaml:notifications: gotify: enabled: true priority: 5 # 0-10 priority level
-
Choose NTFY Service:
- Use public service: https://ntfy.sh
- Or self-host: https://github.com/binwiederhier/ntfy
-
Configure in
.env:NTFY_URL=https://ntfy.sh/your-unique-topic-name
-
Enable in
config.yaml:notifications: ntfy: enabled: true priority: 3 # 1-5 priority level
Sent when an audiobook request is approved:
๐ Audiobook Approved
Title: The Wolf's Advance
Author: Shane Purdy
Status: Approved for download
Sent when a request is rejected:
โ Audiobook Rejected
Title: Example Book
Reason: Poor quality / Duplicate
Sent for system issues:
๐จ System Alert
Issue: MAM login failed
Action: Check MAM credentials
Sent for workflow status:
๐ Processing Update
Title: Book Title
Status: Metadata retrieved from Audnex
ASIN: B0123456789
Discord notifications include:
- Cover Art - Book cover thumbnail
- Metadata Fields - Author, narrator, publisher
- Series Information - Series name and number
- Color Coding - Green (approved), red (rejected)
- Direct Links - Links to MAM page and admin interface
Pushover notifications include:
- Custom Icons - Book-specific icons
- Priority Levels - Important requests get higher priority
- Action Buttons - Quick approve/reject buttons
- Images - Book cover attachments
notifications:
filters:
min_file_size_mb: 100 # Only notify for files > 100MB
exclude_categories: # Skip notifications for these
- "Low Quality"
include_series_only: true # Only notify for series booksnotifications:
rate_limiting:
max_per_hour: 10 # Max notifications per hour
cooldown_minutes: 5 # Min time between notificationsnotifications:
templates:
approved: "โ
{title} by {author} - Approved!"
rejected: "โ {title} - Rejected: {reason}"
error: "๐จ System Error: {error}"# Test all configured notification services
python -c "from src.notify import test_all_notifications; test_all_notifications()"# Test Discord
python -c "from src.notify.discord import DiscordNotifier; DiscordNotifier().test()"
# Test Pushover
python -c "from src.notify.pushover import PushoverNotifier; PushoverNotifier().test()"# Send test notification
python -c "
from src.notify import send_notification
send_notification(
title='Test Notification',
message='This is a test from the audiobook system',
type='info'
)
"Discord webhook not working:
- Verify webhook URL is correct
- Check Discord server permissions
- Test webhook URL manually with curl
Pushover notifications not received:
- Verify User Key and API Token
- Check Pushover app is installed on device
- Test with Pushover website's test feature
Gotify connection failed:
- Verify Gotify server is running
- Check network connectivity
- Validate application token
NTFY messages not received:
- Verify topic name is unique
- Check NTFY server status
- Test with curl or browser
Enable notification debugging:
notifications:
debug: true # Enable verbose logging
log_payloads: true # Log notification payloadsCheck notification logs:
# View notification logs
tail -f logs/notifications.log
# View specific service logs
grep "discord" logs/notifications.log
grep "pushover" logs/notifications.logTrack notification performance:
- Delivery Rate - Percentage of successful notifications
- Response Time - Time to send notifications
- Error Rate - Failed notification attempts
- Service Health - Status of each notification service
View notification metrics in the web interface:
- Recent Notifications - Last 24 hours of notifications
- Service Status - Health check for each service
- Delivery Success - Success/failure rates
- Queue Status - Pending notifications
- Choose notification service(s)
- Configure service credentials in
.env - Enable service(s) in
config.yaml - Test notifications with test script
- Verify notifications received on devices
- Configure notification filtering (optional)
- Set up monitoring and alerts
- Document notification setup for team