Overview
pwr-bot monitors external content platforms and delivers instant notifications when new episodes or chapters are released. Subscribe to your favorite anime and manga series to never miss an update.AniList
Track anime episode releases with real-time GraphQL API integration
MangaDex
Monitor manga chapter updates from the largest free manga platform
Comick
Follow manga series with fast chapter notifications
Supported Platforms
AniList
Track anime episode releases from AniList’s comprehensive database.Feed Item Type: Episodes
Rate Limit: 30 requests per minute
Example URL:
Rate Limit: 30 requests per minute
Example URL:
https://anilist.co/anime/21- Airing schedule for currently airing anime
- Episode number and air time
- Series title (romaji)
- Cover image
- Uses AniList’s GraphQL API
- Fetches latest aired episode (sorted by
EPISODE_DESC) - Respects rate limiting with automatic request throttling
- Extracts episode data from
AiringSchedulequeries
MangaDex
Monitor manga chapter releases from the world’s largest free manga platform.Feed Item Type: Chapters
Rate Limit: 5 requests per second
Example URL:
Rate Limit: 5 requests per second
Example URL:
https://mangadex.org/title/UUID- Latest manga chapters (English and Indonesian)
- Chapter number and publish time
- Series title (multiple languages supported)
- Cover artwork
- Uses MangaDex REST API v5
- Validates UUID format for manga IDs
- Supports multi-language titles (en, ja-ro, ja)
- Fetches cover art through relationships
- Custom User-Agent required per API guidelines
Comick
Track manga series from Comick’s extensive library.Feed Item Type: Chapters
Rate Limit: 200 requests per minute
Example URL:
Rate Limit: 200 requests per minute
Example URL:
https://comick.io/comic/slug- Latest English chapters
- Chapter number and publication date
- Series metadata and descriptions
- Cover images from CDN
- Uses Comick API with Chrome emulation headers
- Fetches comic metadata via slug-based URLs
- Retrieves chapters via HID (internal identifier)
- Cover images served from
meo.comick.pictures
How Subscriptions Work
Creating Subscriptions
Users can subscribe to feeds in two ways:- Server Subscriptions - Notifications sent to a configured channel
- DM Subscriptions - Notifications sent directly to your DMs
Subscription Workflow
Paste URL
Provide the URL of the anime or manga you want to track (e.g.,
https://anilist.co/anime/21)Platform Detection
The bot automatically detects which platform the URL belongs to by matching the domain
Feed Storage
Each feed source is stored with:- Source ID - Platform-specific identifier extracted from the URL
- Items ID - ID used to fetch the latest items (may differ from source ID)
- Name - Human-readable series name
- Description - Series synopsis or description
- Image URL - Cover art or thumbnail
- Platform - Which platform hosts this content
Technical Details: ID Extraction
Technical Details: ID Extraction
Different platforms use different URL structures:
- AniList: Extracts numeric ID from path:
/anime/21→21 - MangaDex: Extracts UUID from path:
/title/UUID→UUID - Comick: Extracts slug from path:
/comic/slug→slug
Notification Delivery
Server Notifications
When subscribed to a server feed:- Polling System - The bot periodically checks for new items on all active feeds
- Change Detection - Compares the latest item with the last recorded item
- Embed Creation - Generates a rich embed with series info, chapter/episode number, and cover image
- Channel Delivery - Posts the notification to the configured server channel
Server feed notifications require a channel to be configured via
/settings. Admins can also set role requirements for subscribing/unsubscribing.DM Notifications
When subscribed to a DM feed:- Notifications are sent directly to your DMs
- No server configuration needed
- Same rich embed format as server notifications
- Works across all servers where you use the bot
Notification Format
Each notification includes:- Platform logo - Visual indicator of the source
- Series title - Name of the anime or manga
- Item title - Episode or chapter number
- Cover image - Series artwork
- Direct link - Click to view the content
- Copyright notice - Platform attribution
Rate Limiting & Performance
All platforms implement rate limiting to ensure reliable operation:- Governor-based limiting - Uses the
governorcrate for in-memory rate limiting - Automatic throttling - Requests wait until rate limit quota is available
- Logging - Info-level logs when rate limits are hit
Rate Limit Implementation
Rate Limit Implementation
Each platform has a This ensures the bot never exceeds platform rate limits, even under high load.
send() method that checks the rate limiter before making requests:Commands
/feed subscribe
Subscribe to a feed for server or DM notifications
/feed unsubscribe
Unsubscribe from a feed
/feed list
View all your active subscriptions
/settings
Configure server feed settings (admin only)
Error Handling
The bot handles various error scenarios gracefully:- Invalid URLs - Clear error messages for unsupported formats
- Missing content - Detection when a series has no episodes/chapters yet
- API errors - Parses and displays platform-specific error messages
- Network issues - Automatic retry with exponential backoff
- Rate limiting - Transparent waiting without user impact