Repository navigation
Added
-
Multi-Language Support (i18n)
/languagecommand for changing bot language- 10 fully translated languages:
- 🇺🇸 English (en)
- 🇪🇸 Español (es)
- 🇨🇳 中文 (zh)
- 🇷🇺 Русский (ru)
- 🇵🇹 Português (pt)
- 🇫🇷 Français (fr)
- 🇩🇪 Deutsch (de)
- 🇯🇵 日本語 (ja)
- 🇸🇦 العربية (ar)
- 🇮🇩 Bahasa Indonesia (id)
- Language preference persisted per user
- Automatic language detection from Telegram settings
- Fallback to English for unsupported languages
-
Search Features
/searchcommand for searching arXiv papers/authorcommand for searching by author name/categoriescommand for browsing by arXiv category/similarcommand for finding related papers- Pagination support with "Load More" buttons
- Advanced search with filters (title, abstract, category)
-
Bookmark System
/bookmarkscommand to view saved papers- Add/remove bookmark functionality
- Paginated bookmark list
/exportcommand for BibTeX export- Notes support for bookmarks
-
Search History
/historycommand to view recent searches- Quick re-search from history
- Clear history option
- Personal statistics with
/stats
-
Subscription System
/subscribecommand for topic subscriptions/subscriptionscommand to manage subscriptions/unsubscribecommand to remove subscriptions- Configurable notification intervals (12h, 24h, 48h, 7d)
- Category filters for subscriptions
-
Inline Query Support
- Search papers from any chat using
@BotUsername query - Rich inline results with paper details
- Cached results for performance
- Search papers from any chat using
-
Admin Features
/admincommand for admin help/admin_statsfor bot-wide statistics- Admin action logging
-
Infrastructure
- Webhook mode with Elysia server
- Polling mode for development
- Vercel serverless deployment support
- Docker support with Alpine-based images
- Multi-architecture builds (AMD64, ARM64)
- SQLite database with Drizzle ORM
- Redis caching support (optional)
- Health check endpoints
- Structured logging
- CI/CD pipeline with GitHub Actions
- Automated releases with Docker image publishing
-
arXiv API Integration
- Rate limiting (3 second intervals)
- Automatic retry with exponential backoff
- Request timeouts
- Result caching
- Multiple sort options (relevance, date)
-
Error Handling
- Custom error types (ArxivApiError, RateLimitError, ValidationError)
- User-friendly error messages in all supported languages
- Graceful degradation
-
Rate Limiting
- Per-user rate limits
- arXiv API rate limiting
- Informative rate limit messages
-
Documentation
- Comprehensive API documentation
- Contributing guide
- Test suite for utilities, arXiv API, and bot functionality
Security
- Webhook secret token verification
- Input sanitization for search queries
- Environment variable validation
- Admin command access control
- Non-root user in Docker container