How agntdev/neet-resource-hub works
NEET Resource Hub is a Telegram study-resource bot for repeaters. Its user workflow begins with an update delivered by Telegram, enters the bot runtime, and is dispatched to feature handlers for browsing subjects, finding resources, bookmarks, mock tests, or study plans; replies and menu interactions return through Telegram. The repository also includes reusable session, UI, reminder, and telemetry layers. The sampled sources document the Worker entry and toolkit internals; handler implementations and the Node bot builder were not sampled, so feature-specific wiring is intentionally limited.
Main entry points: src/bot.ts Bot builder · worker.ts Worker entry · toolkit/bot.ts Bot toolkit · durable.ts Durable sessions
Components 20
Bot runtimes
- Node entry
src/index.ts - Worker entry
src/worker.ts - Bot builder
src/bot.ts
Study features
- Start and menu
src/handlers/start.ts - Help
src/handlers/help.ts - Browse subjects
src/handlers/browse-subjects.ts - Resource search
src/handlers/search-start.ts - Bookmarks
src/handlers/bookmarks-list.ts - Mock tests
src/handlers/mocktest-start.ts - Study plans
src/handlers/plan-start.ts
Bot toolkit
- Bot toolkit
src/toolkit/bot.ts - Keyboard UI
src/toolkit/ui/keyboard.ts
State and integrations
- Memory sessions
src/toolkit/session/memory.ts - Redis sessions
src/toolkit/session/redis.ts - Durable sessions
src/toolkit/session/durable.ts - Chat state and reminders
src/toolkit/session/durable.ts - Activity reporter
src/toolkit/telemetry/reporter.ts
Other components
- Student
- Telegram
- Telemetry service
Connections 23
- Student → Telegram: sends update
- Telegram → Worker entry: webhook POST
- Node entry → Bot builder: builds bot
- Worker entry → Bot builder: builds bot
- Worker entry → Durable sessions: provides storage
- Bot builder → Bot toolkit: uses toolkit
- Bot builder → Start and menu: registers handlers
- Bot builder → Help: registers handlers
- Bot builder → Browse subjects: registers handlers
- Bot builder → Resource search: registers handlers
- Bot builder → Bookmarks: registers handlers
- Bot builder → Mock tests: registers handlers
- Bot builder → Study plans: registers handlers
- Start and menu → Keyboard UI: builds menus
- Bot toolkit → Memory sessions: selects fallback
- Bot toolkit → Redis sessions: selects by config
- Worker entry → Durable sessions: selects storage
- Durable sessions → Chat state and reminders: routes session and reminders
- Chat state and reminders → Telegram: sends reminder
- Bot toolkit → Activity reporter: installs reporter
- Activity reporter → Telemetry service: posts activity
- Worker entry → Telegram: passes webhook update
- Node entry → Telegram: starts polling