A Telegram bot for monitoring Vinted listings and sending notifications when new items matching your search criteria are found.
- 🔍 Monitor Vinted listings based on search URLs
- 🔔 Receive notifications when new items are found
- 🚫 Filter items by keywords
- 👥 Support for multiple users and searches
- 🌐 Proxy support to avoid rate limiting
- 📊 Admin dashboard for monitoring system performance
- ⚡ Optimized with caching and database indexing
Add your screenshots here
- Node.js 18 or higher
- MongoDB
- Telegram Bot Token (from @BotFather)
-
Clone the repository:
git clone https://github.com/yourusername/vinted-telegram-bot.git cd vinted-telegram-bot -
Install dependencies:
npm install
-
Create a
.envfile in the root directory and add your configuration:TELEGRAM_BOT_TOKEN=your_telegram_bot_token MONGODB_URI=mongodb://localhost:27017/vinted-telegram-bot VINTED_API_DOMAIN_EXTENSION=fr ADMIN_USER_IDS=your_telegram_user_id -
Start the bot:
npm start
-
Clone the repository:
git clone https://github.com/yourusername/vinted-telegram-bot.git cd vinted-telegram-bot -
Create a
.envfile in the root directory and add your configuration. -
Build and start the Docker containers:
docker-compose up -d
- Start a chat with your bot on Telegram.
- Use the
/startcommand to get started. - Use the
/helpcommand to see all available commands. - Use the
/monitorcommand followed by a Vinted search URL to start monitoring.
/start- Start the bot/help- Show help message/monitor <url>- Start monitoring a Vinted search URL/stop <id>- Stop monitoring a specific search/list- List all your active monitors/filter <id> <keywords>- Add keyword filters to a monitor/settings- Change your preferences/dashboard- (Admin only) View system metrics and performance
Administrators can access the dashboard to monitor system performance:
/dashboard- View system overview/dashboard:api- View API metrics/dashboard:errors- View error metrics/dashboard:system- View system metrics/dashboard:cache- Clear cache
The bot includes several performance optimizations:
- Caching: Reduces API calls by caching responses
- Database Indexes: Improves query performance
- Connection Pooling: Optimizes database connections
- Concurrency Control: Limits concurrent API requests to avoid rate limiting
The bot supports proxies to avoid rate limiting. You can use Webshare.io for proxy management or provide your own proxies in a proxies.txt file.
For production deployment, see DEPLOYMENT.md for detailed instructions.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the ISC License.