AI lyrics study bot for Telegram — Translation, summary, vocabulary
Needs changesNeeds changes. This template uses 1 thing(s) that n8n 3.0 removes: OpenAI (legacy). 1 breaking item(s) found. Static check, last run 2026-10-19.
What to replace before upgrading
| Removed in 3.0 | Replace with |
|---|---|
| OpenAI (legacy) /start, /get_lyrics, /interpret_lyrics, /study_lyrics, /summarize_lyrics, /vocabulary_lyrics, /lyrics_poetic_analysis | OpenAI node (AI section) |
Nodes used (9)
- Telegram
n8n-nodes-base.telegram - Webhook
n8n-nodes-base.webhook - Code
n8n-nodes-base.code - HTTP Request
n8n-nodes-base.httpRequest - Edit Fields (Set)
n8n-nodes-base.set - If
n8n-nodes-base.if - No Operation, do nothing
n8n-nodes-base.noOp - OpenAI
n8n-nodes-base.openAi - Switch
n8n-nodes-base.switch
What it does
What this workflow is (About) This workflow turns a Telegram bot into an AI-powered lyrics assistant. Users send a command plus a lyrics URL, and the flow downloads, cleans, and analyzes the text, then replies on Telegram with translated lyrics, summaries, vocabulary, poetic devices, or an interpretation—all generated by AI (OpenAI). What problems it solves Centralizes lyrics retrieval + cleanup + AI analysis in one automated flow Produces study-ready outputs (translation, vocabulary, figures of speech) Saves time for teachers, learners, and music enthusiasts with instant results in chat Key features AI analysis using OpenAI (no secrets hardcoded; uses n8n Credentials) Line-by-line translation, concise summaries, vocabulary lists Poetic/literary device detection and emotional/symbolic interpretation Robust ETL (extract, download, sanitize) and error handling Clear Sticky Notes documenting routing, ETL, AI prompts, and messaging Who it’s for Language learners & teachers Musicians, lyricists, and music bloggers Anyone studying lyrics for meaning, style, or vocabulary Input & output Input: Telegram command with a public lyrics URL Output: Telegram messages (Markdown/MarkdownV2), split into chunks if long How it works Telegram → Webhook receives a user message (e.g., /getlyrics <URL>). Routing (If/Switch) detects which command was sent. Extract URL + Download (HTTP Request) fetches the lyrics page. Cleanup (Code) strips HTML/scripts/styles and normalizes whitespace. OpenAI (Chat) formats the result per command (translation, summary, vocabulary, analysis). Telegram (Send Message) returns the final text; long outputs are split into chunks. Error handling replies with friendly guidance for unsupported/incomplete commands. Set up steps 1. Create a Telegram bot with @BotFather and copy the bot token. 2. In n8n, create Credentials → Telegram API and paste your token (no hardcoded keys in nodes). 3. Create Credentials → OpenAI and paste your API key. 4. Import the workflow and set a short webhook path (e.g., /lyrics-bot). 5. Publish the webhook and set it on Telegram: text https://api.telegram.org/bot<YOURBOTTOKEN>/setWebhook?url=https://YOURDOMAIN/webhook/lyrics-bot 6. (Optional) Restrict update types: bash curl -X POST https://api.telegram.org/bot<YOURBOTTOKEN>/setWebhook \ -H "Content-Type: application/json" \ -d '{ "url": "https://YOURDOMAIN/webhook/lyrics-bot", "allowedupdates": "message" }' 7. Test by sending /start and then /getlyrics <PUBLICURL> to your bot. 8. If messages are long, ensure MarkdownV2 is used and special characters are escaped.