A Telegram bot for students to check attendance and mid-term marks.
- Check attendance details
- View mid-term examination marks
- 🏆 Live Leaderboard (Telegram Web App)
- Admin controls
- 🔔 Automatic Notifications
- AI-powered chat capabilities
- Backend: Node.js, Express, TypeScript
- Database: Turso (SQLite), Redis
- Frontend: React, Vite, TailwindCSS
- Integration: Telegram Bot API
- Scraping: Cheerio, Axios
src/
├── bot/
│ ├── commands/ # Bot command handlers
│ ├── features/ # Core bot features
│ └── setup.ts # Bot initialization
├── config/ # Configuration files
├── constants/ # Constant values and messages
├── db/ # Database models
├── services/ # Business logic services
└── types/ # TypeScript type definitions
- Clone the repository
git clone https://github.com/yourusername/NbkristQik.git
cd NbkristQik- Install dependencies
pnpm install- Configure environment variables
- Copy
.env.exampleto.env - Fill in the required values:
- Telegram bot tokens
- Turso database credentials
- Authentication details
- Admin configuration
- Build and run
# Development
pnpm dev
# Production
pnpm build
pnpm start/start- Initialize the bot/help- Get usage instructions/ai [query]- Interact with AI- Check attendance and marks using roll number
ENV=development|production
TELEGRAM_BOT_TOKEN_DEV=your_dev_bot_token
TELEGRAM_BOT_TOKEN=your_production_bot_token
TURSO_DATABASE_URL=your_database_url
TURSO_AUTH_TOKEN=your_auth_token
N_USERNAME=your_username
N_PASSWORD=your_password
ADMIN_ID=your_admin_id# Run in development mode
pnpm dev
# Build TypeScript
pnpm build
# Start production server
pnpm startSee LICENSE.md for details.