- I want that, when an user sends `/tarea` to the bot, with no extra arguments, it should show all the pending tasks for the user in a private message (the same behaviour as calling `/tarea mostrar`
- Group membership tracking
- SQLite database persistence
### Periodic Sync Strategy
- Health check endpoint
1. **Rotating Group Check**:
- Environment validation
- Verify 1-2 groups per sync cycle
- Input validation for dates and commands
- Prioritize recently active groups
2. **User Reconciliation**:
## 🛠️ Setup
- Add newly discovered users
### Environment Variables
- Update `last_confirmed` for active users
```env
3. **Optimizations**:
EVOLUTION_API_URL=http://evolution-api:3000
- Cache active group IDs in memory
EVOLUTION_API_KEY=your-api-key
- Batch database writes
EVOLUTION_API_INSTANCE=main
- Exponential backoff for API failures
WHATSAPP_COMMUNITY_ID=your-community-id
CHATBOT_PHONE_NUMBER=1234567890
### Security Considerations
WEBHOOK_URL=https://your-webhook.com
- Reject messages from:
PORT=3007
- Non-community groups
NODE_ENV=production
- Unknown private chats
```
- Implement rate limiting
- Maintain audit logs of verification events
### Development Setup
```bash
# Install dependencies
bun install
# Start development server
bun run dev
# Run tests
bun test
```
## 📅 Roadmap
### High Priority
- [ ] Implement ResponseQueue processing logic with retries
- [ ] Add database schema validation and migrations
- [ ] Add error recovery with transaction rollback
- [ ] Implement group sync delta updates
### Medium Priority
- [ ] Add task assignment and ownership
- [ ] Implement user permissions system
- [ ] Add rate limiting for API calls
- [ ] Create task history tracking
### Low Priority
- [ ] Add task reminders system
- [ ] Implement multi-language support
- [ ] Create analytics dashboard
- [ ] Add user-friendly task list UI
## 🧪 Testing
### Running Tests
```bash
bun test
```
### Test Coverage
- Webhook validation
- Command parsing
- Environment checks
- Basic error handling
- Input validation
## 🧑💻 Contributing
1. Fork the repository
2. Create a feature branch
3. Add tests for new functionality
4. Submit a pull request
## 📚 Documentation
For detailed API documentation and architecture decisions, see the [docs/](docs/) directory.