IceMelter is an API with a Telegram bot built with NestJS that helps users spark meaningful conversations with anyone. The application provides conversation starters, icebreaker questions, and interactive games to facilitate better communication and connection between people.
- Telegram Bot Integration: Seamless interaction through Telegram
- Conversation Starters: Curated questions to break the ice in any situation
- Multiple Languages: Supports internationalization (i18n) for multiple languages
- User Profiles: Create and manage multiple conversation profiles
- Categories: Browse questions by different categories
- AI-Powered Games: Generate custom conversation games using AI
- Suggestion System: Users can suggest new questions
- Webhook Support: Uses webhooks for efficient Telegram updates
- Node.js (v18 or higher)
- PostgreSQL
- Redis
- Telegram Bot Token (from BotFather)
- Public domain with SSL for webhook (or ngrok for development)
- OpenAI API key (for AI features)
npm run build
- Build the applicationnpm run start:dev
- Run in development mode with hot reloadnpm run start:prod
- Run in production modenpm run test
- Run testsnpm run migration:generate -- ./src/migrations/MigrationName
- Generate a new migrationnpm run migration:run
- Run migrationsnpm run migration:revert
- Revert the last migration
src/
- Source codemain.ts
- Application entry pointapp.module.ts
- Main application moduletelegram/
- Telegram bot integrationusers/
- User managementprofiles/
- User profilescards/
- Conversation cards/questionscategories/
- Question categoriesai/
- AI integration for game generationi18n/
- Internationalization fileswebhooks/
- Webhook handlers
Contributions are welcome! Please feel free to submit a Pull Request.
If you like this project, a coffee is always appreciated!
- Anton Cherednichenko