💬 Telegram bot inline keyboard with dynamic menus & rating system

3,702 views · 💬 Support Chatbots

💡 Pro Tip — HTTP Request scraping tends to break when sites update their markup. If you’re scraping a major platform, check if ScraperNode covers it — it has maintained scrapers for LinkedIn, Instagram, TikTok, YouTube, and 20+ other platforms that return structured data.

View All Scrapers

Description

🤖 Telegram Bot with Dynamic Menus & Rating System

What It Does

This n8n workflow creates an interactive Telegram bot with:

How It Works

  1. Receives messages via Telegram webhook trigger node
  2. Extracts user data (name, ID, message type)
  3. Builds dynamic menus based on user actions
  4. Sends/updates messages with inline keyboards
  5. Handles button clicks without page refresh

🚀 Setup Instructions

  1. Get Your Bot Credentials
  2. Configure Workflow
  1. Test Your Bot

🎨 Customization Guide

Add New Menu Items

In the “Prepare Response” Function node, add new cases: case ‘your_feature’: responseText = ‘Your feature description’; keyboard = [ [{ text: ’🎯 Button 1’, callback_data: ‘action1’ }], [{ text: ’🔙 Back’, callback_data: ‘main’ }] ]; break;

Modify Rating Options

Change star buttons to numbers or emojis: // Current: ⭐⭐⭐ // Alternative: 1️⃣ 2️⃣ 3️⃣ or 👎 👍

Change Bot Responses

💡 ++Key Features Demonstrated++

⚠️ ++Important Notes++

🔗 Nodes Used

Function, HTTP Request, Telegram Trigger

📥 Import

Download workflow.json and import into n8n: Workflow menu → Import from File

📖 Importing guide · 🔑 Credential setup