Back to Templates

AI Lyrics Study Bot for Telegram — Translation, Summary, Vocabulary

Last update

Last update a day ago

Share


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., /get_lyrics <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:

    https://api.telegram.org/bot<YOUR_BOT_TOKEN>/setWebhook?url=https://[YOUR_DOMAIN]/webhook/lyrics-bot
    
  6. (Optional) Restrict update types:

    curl -X POST https://api.telegram.org/bot<YOUR_BOT_TOKEN>/setWebhook \
      -H "Content-Type: application/json" \
      -d '{
        "url": "https://[YOUR_DOMAIN]/webhook/lyrics-bot",
        "allowed_updates": ["message"]
      }'
    
  7. Test by sending /start and then /get_lyrics <PUBLIC_URL> to your bot.

  8. If messages are long, ensure MarkdownV2 is used and special characters are escaped.