A Telegram bot that recommends movies and food based on your mood, powered by an LLM (via Groq's OpenAI-compatible API).
- Mood-based recommendations — pick from Happy, Sad, Nostalgic, or Angry, and the bot tailors a suggestion to match.
- Genre selection — choose between Movie, Anime, Cartoon, or Series.
- AI-generated picks — uses an LLM (
llama-3.3-70b-versatilevia Groq) to generate a creative, spoiler-light recommendation with a title, year, and description. - Poster lookup — automatically fetches a poster image for the recommended title and sends it alongside the description.
- Keep the recommendations coming — after each suggestion, the bot asks if you'd like another, and avoids repeating movies it's already recommended in the session.
- Simple command interface
| Command | Description |
|---|---|
/start |
Start the bot |
/help |
Show available commands |
/recommend_movie |
Start a guided mood + genre flow to get a movie recommendation |
/recommend_food |
(planned) Food recommendations |
- User runs
/recommend_movie. - Bot asks for the user's current mood (reply-keyboard buttons).
- Bot asks what type of content they want (movie, anime, cartoon, series).
- The mood + genre are sent to the LLM with a prompt asking for a single creative recommendation in JSON format (title, year, description, poster URL).
- The bot fetches a poster image and replies with the recommendation.
- The bot asks if the user wants another recommendation, repeating the flow while excluding previously suggested titles.
.
├── main.py # Bot entrypoint, command/message handler registration
├── movie.py # Movie recommendation conversation flow + LLM integration
├── helpers.py # Helper utilities (e.g. poster image lookup)
└── config.py # Shared API client configuration
- Python 3.10+
- A Telegram bot token (create one via @BotFather)
- A Groq API key (console.groq.com)
git clone https://github.com/smilhin/GangleBot.git
cd GangleBot
pip install -r requirements.txtCreate a .env file in the project root:
TELEGRAM_BOT_TOKEN=...
GROQ_API_KEY=...
TMDB_API_KEY=...python main.pyApache License 2.0