AI Telegram bot for personal music selection by mood
Telegram bot with artificial intelligence for personalized music selection by mood
Project Overview
MoodTune Bot is an intelligent bot that uses Google Gemini AI for accurate analysis of the user's mood and selection of appropriate music from YouTube. The project demonstrates the integration of multiple APIs and the creation of a personalized music experience considering the time of day and the user's emotional state.
Key Features
- AI mood analysis: Contextual understanding of emotional state considering the time of day
- Smart music search: Generation of personalized YouTube queries through Gemini AI
- Personal analytics: Collection and analysis of user music preferences
- Lyrics integration: Searching for song lyrics through Genius API
- Adaptive recommendations: Learning based on user interaction
Technical Stack
Backend:
- TypeScript & Node.js - strictly typed server-side code
- MongoDB - storage of user statistics and analytics
- Telegraf - framework for Telegram Bot API
- Google Gemini AI - mood analysis and content generation
API Integrations:
- YouTube Data API v3 - search and metadata of music tracks
- Genius API - obtaining song lyrics
- Telegram Bot API - user interface
DevOps & Tools:
- TypeScript Compiler - compilation and type checking
- Nodemon - automatic restart during development
- dotenv - configuration management
Artificial Intelligence and NLP
- Contextual mood analysis: Using AI to understand emotional context in Ukrainian considering the time of day.
- Query generation: AI creates optimized search queries for YouTube API based on the user's mood.
Analytics and Personalization
- Usage statistics: Tracking the most popular moods and music preferences.
- Interaction history: Storing data about searches and created playlists.
- Personal insights*: Analysis of user music habits with visualization.
Main Flow
Track search by mood
/mood → Mood description → AI analysis → YouTube search → Track + Interaction buttons
Playlist creation
/playlist → Context → AI analysis → Multiple YouTube queries → Personal playlist
Detailed process:
1. Input acquisition - the user describes their mood in natural Ukrainian language.
2. AI analysis - Gemini AI determines the mood, intensity, time context, and generates recommendations.
3. Query generation - creating multiple optimized search queries for YouTube.
4. Search and filtering - obtaining tracks from YouTube while filtering out low-quality content.
5. Analytics storage - recording interaction in MongoDB for further personalization.
GitHub: [https://github.com/YouCanTrustMe/MoodTuneBot]
#TypeScript #NodeJS #MongoDB #Mongoose
#api #AI #шi #nlp #Telegram #YouTube #telebot
Project Overview
MoodTune Bot is an intelligent bot that uses Google Gemini AI for accurate analysis of the user's mood and selection of appropriate music from YouTube. The project demonstrates the integration of multiple APIs and the creation of a personalized music experience considering the time of day and the user's emotional state.
Key Features
- AI mood analysis: Contextual understanding of emotional state considering the time of day
- Smart music search: Generation of personalized YouTube queries through Gemini AI
- Personal analytics: Collection and analysis of user music preferences
- Lyrics integration: Searching for song lyrics through Genius API
- Adaptive recommendations: Learning based on user interaction
Technical Stack
Backend:
- TypeScript & Node.js - strictly typed server-side code
- MongoDB - storage of user statistics and analytics
- Telegraf - framework for Telegram Bot API
- Google Gemini AI - mood analysis and content generation
API Integrations:
- YouTube Data API v3 - search and metadata of music tracks
- Genius API - obtaining song lyrics
- Telegram Bot API - user interface
DevOps & Tools:
- TypeScript Compiler - compilation and type checking
- Nodemon - automatic restart during development
- dotenv - configuration management
Artificial Intelligence and NLP
- Contextual mood analysis: Using AI to understand emotional context in Ukrainian considering the time of day.
- Query generation: AI creates optimized search queries for YouTube API based on the user's mood.
Analytics and Personalization
- Usage statistics: Tracking the most popular moods and music preferences.
- Interaction history: Storing data about searches and created playlists.
- Personal insights*: Analysis of user music habits with visualization.
Main Flow
Track search by mood
/mood → Mood description → AI analysis → YouTube search → Track + Interaction buttons
Playlist creation
/playlist → Context → AI analysis → Multiple YouTube queries → Personal playlist
Detailed process:
1. Input acquisition - the user describes their mood in natural Ukrainian language.
2. AI analysis - Gemini AI determines the mood, intensity, time context, and generates recommendations.
3. Query generation - creating multiple optimized search queries for YouTube.
4. Search and filtering - obtaining tracks from YouTube while filtering out low-quality content.
5. Analytics storage - recording interaction in MongoDB for further personalization.
GitHub: [https://github.com/YouCanTrustMe/MoodTuneBot]
#TypeScript #NodeJS #MongoDB #Mongoose
#api #AI #шi #nlp #Telegram #YouTube #telebot