Skip to content

vtvz/rustify

Repository files navigation

Rustify Logo

🎵 Rustify

📢 Subscribe to the author's telegram channel for updates and more projects: @vtvz_dev

A Telegram bot that monitors your Spotify playback, detects profane lyrics, integrates with AI for text analysis, and automatically skips tracks you've disliked

Rust License Build and Deploy


🤖 Try the live bot: @RustifyBot


Rustify is an intelligent Telegram bot that integrates with Spotify to provide real-time profanity detection and track management. It continuously monitors what you're listening to, analyzes lyrics for inappropriate content, and automatically skips tracks you've marked with the dislike button.

✨ Features

🎯 Core Features

  • 🔍 Real-time Profanity Detection - Automatically analyzes song lyrics as you listen using advanced profanity detection algorithms
  • ⏭️ Auto-Skip - Instantly skips tracks you've marked with dislike
  • 📊 Multi-Provider Lyrics - Fetches lyrics from multiple sources (Musixmatch, Genius, LrcLib) for maximum coverage
  • 🤖 AI-Powered Analysis - Optional OpenAI-compatible API integration for analyzing song lyrics meaning, storyline, and content themes, plus individual word analysis
  • 🌍 Multi-Language Support - Interface available in multiple languages (profanity detection in English only)

🎛️ User Features

  • 👍 Like/Dislike System - Quick reactions to tracks, with automatic skipping of disliked songs
  • ✨ Magic Playlist™ - Shuffled playlist of your liked songs that automatically removes tracks as you listen, ensuring no repeats
  • ⏭️ Skippage™ - Skip tracks you've recently listened to (configurable time window)
  • 🤖 Recommendasion™ - Get personalized track recommendations
  • 📱 Interactive Keyboards - Quick access to common actions via Telegram inline keyboards
  • 🔔 Real-time Notifications - Get notified when profane tracks are detected

🛡️ Admin Features

  • 📊 Global Statistics - View usage statistics across all users
  • 👥 User Information - View detailed information about users
  • 🔔 New User Notifications - Get notified when new users join
  • 📢 Broadcast Messages - Send announcements to all users

Technology Stack

  • Language: Rust (see rust-toolchain.toml for exact version)
  • Telegram: Teloxide
  • Spotify: RSpotify
  • Database: PostgreSQL with SeaORM
  • Cache: Redis
  • Profanity Detection: Rustrict - The cornerstone of the project
  • AI: OpenAI API (optional)
  • Metrics: InfluxDB (optional)
  • Logging: Grafana Loki (optional)

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

📞 Support


Made with ❤️ and Rust by @vtvz

About

Having fun with Rust, Spotify and Telegram

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published