How xiaoqvan/xqanimebot works
这是一个接入 TDLib 的动漫管理与自动收录机器人插件:启动后轮询多个 RSS 源,合并过滤条目并排队处理种子;随后匹配动漫及集数、下载并发布视频,必要时请求管理员补充或确认信息。机器人也提供动漫搜索、Bangumi 账户绑定和管理命令。分组涵盖消息入口、收录处理、元数据与持久化、下载和外部服务。README 为空;未采样的模块仅按目录和入口注册信息概括,未推断其内部调用。
Main entry points: animeHandlers.ts Anime processing · index.ts Plugin handlers · query.ts Database queries · rss/index.ts RSS aggregation
Components 21
Bot entry
- Plugin handlers
index.ts - Bot commands
cmd - Callback handler
CallbackQuery/index.ts
Anime ingestion
- Anime runtime
anime/index.ts - RSS aggregation
anime/rss/index.ts - Task queue
anime/AnimeProcessorManager.ts - RSS item handling
anime/rssItemHandler.ts - Anime processing
anime/animeHandlers.ts - Admin prompts
anime/adminPrompts.ts
Catalog and state
- Anime lookup
anime/get.ts - Episode matching
utils/matcher.ts - Database queries
database/query.ts - Database writes
database
External integrations
- RSS source fetchers
anime/rss - MongoDB
- Bangumi service
- Telegram / TDLib
- Torrent operations
qBittorrent/download.ts - qBittorrent client
qBittorrent/client.ts
Other components
- Telegram user
- RSS feeds
Connections 24
- Telegram user → Plugin handlers: sends commands
- Plugin handlers → Bot commands: dispatches commands
- Plugin handlers → Callback handler: dispatches updates
- Plugin handlers → Anime runtime: starts runtime
- Anime runtime → RSS aggregation: polls feeds
- RSS aggregation → RSS source fetchers: fetches feeds
- RSS feeds → RSS source fetchers: provides items
- RSS aggregation → Database queries: reads blacklist
- Task queue → Database queries: checks duplicates
- Task queue → RSS item handling: dispatches items
- RSS item handling → Anime processing: processes item
- Anime processing → Anime lookup: searches metadata
- Anime processing → Episode matching: matches episode
- Anime processing → Database writes: saves records
- Anime processing → Torrent operations: manages torrent
- Anime processing → Admin prompts: requests review
- Admin prompts → Telegram / TDLib: sends prompts
- Anime processing → Telegram / TDLib: publishes video
- Callback handler → Telegram / TDLib: handles callbacks
- Bot commands → Database queries: searches catalog
- Database queries → MongoDB: queries collections
- Database writes → MongoDB: writes collections
- Torrent operations → qBittorrent client: uses API client
- qBittorrent client → MongoDB