MoodPal is your personal mood tracking companion on Telegram that helps you understand and monitor your emotional well-being over time. With an intuitive interface and powerful features, MoodPal makes emotional self-awareness simple and engaging.
- Mood Tracking: Select your mood from a diverse range of emojis (18 different moods) and descriptions
- Daily Reminders: notifications to help you maintain consistent tracking
- Mood Notes: Add personal context to each mood entry
- Privacy Controls: Toggle between public and private mood visibility
- Mood Radar: Visual representation of your emotional patterns using radar charts
- Time-based Reports: Analyze your mood patterns over different time periods
- Mood Categories: Smart categorization of moods into 6 main categories:
- Positive (Happy, Relaxed, Excited)
- Motivated (Motivated, Naughty, Confused)
- Anxious (Anxious, Overthinking, Nervous)
- Negative (Disappointed, Sad, Overwhelmed)
- Drained (Tired, Sick, Angry)
- Calm (Neutral, Uncertain, Bored)
- Mood Sharing: Share your mood updates with friends
- Follow System: Connect with and follow other users' mood journeys
- Community Channel: Join the MoodPals community for support and interaction
Want to display your current mood on your website or blog? Use our animated mood display:
<img src="https://moodpal.samanfekri.me/user/${id}/mood/animated" />
To get your personal embed code:
- Open MoodPal bot on Telegram
- Send the
/set_public
command - The bot will provide you with your personalized embed code ready to use
Available embed options:
- Animated Mood: Dynamic WebP animation of your current mood
- Emoji Display: Simple emoji representation of your mood state
Simply paste the provided code into your website or blog to get a live representation of your current mood state!
- Bot Framework: Built with Telegraf.js for reliable Telegram integration
- Database: MongoDB for robust data persistence
- Containerization: Docker for easy deployment and scaling
- Security: Implements best practices for data protection
- Scheduling: Cron jobs for automated reminders and analytics
src/
├── bot.js # Main bot initialization
├── commands/ # Command handlers
│ ├── start.js
│ ├── set_mood.js
│ ├── help.js
│ └── analytics.js
├── callbacks/ # Callback handlers
│ ├── saveMood.js
│ └── moodAnalytics.js
├── constants/ # Application constants
├── middlewares/ # Custom middlewares
├── models/ # Database models
└── db.js # Database configuration
- Node.js (v14 or higher)
- MongoDB
- Docker (optional)
- Telegram Bot Token
- Clone the repository
git clone https://github.com/yourusername/moodpal.git
cd moodpal
- Install dependencies
npm install
- Configure environment variables
cp .env.example .env
# Edit .env with your configuration
- Start the bot
npm start
docker-compose up -d
We welcome contributions! Please see our Contributing Guidelines for details.
Join our MoodPals Community on Telegram to:
- Share your experience
- Get support
- Suggest new features
- Connect with other users
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to all contributors who have helped shape MoodPal
- Special thanks to the Telegraf.js team for their excellent framework
- Our amazing community of users for their feedback and support