Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
claude-office-skills avatar

Telegram Bot

  • 1 installs
  • 6 repo stars
  • Updated January 30, 2026
  • claude-office-skills/skills-hub

This is a copy of telegram-bot by claude-office-skills - installs and ranking accrue to the original listing.

Helps with ai & agent building tasks.

About

telegram-bot is a Claude Code skill for ai & agent building. It helps you ship faster with AI-assisted development.

  • telegram-bot
  • AI & Agent Building
  • AI-coding skill

Telegram Bot by the numbers

  • 1 all-time installs (skills.sh)
  • Data as of Jul 31, 2026 (Skillselion catalog sync)
npx skills add https://github.com/claude-office-skills/skills-hub --skill telegram-bot

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
repo stars6
Last updatedJanuary 30, 2026
Repositoryclaude-office-skills/skills-hub

What it does

Helps with ai & agent building tasks.

Files

SKILL.mdMarkdownGitHub ↗

Telegram Bot

Build Telegram bots for chatbots, notifications, AI assistants, and group automation. Based on n8n's Telegram workflow templates.

Overview

This skill covers:

  • Bot setup and configuration
  • Message handling patterns
  • AI-powered assistants
  • Notification workflows
  • Group automation

---

Bot Setup

Creating a Bot

setup_steps:
  1. create_bot:
      - open: @BotFather on Telegram
      - command: /newbot
      - provide: bot_name
      - provide: bot_username (must end in 'bot')
      - receive: API_token
      
  2. configure_bot:
      - command: /setdescription
      - command: /setabouttext
      - command: /setuserpic
      - command: /setcommands
      
  3. get_chat_id:
      - start: conversation with bot
      - call: https://api.telegram.org/bot{TOKEN}/getUpdates
      - extract: chat.id from response

Bot Commands

commands:
  - command: /start
    description: "Start the bot"
    
  - command: /help
    description: "Show available commands"
    
  - command: /status
    description: "Check system status"
    
  - command: /subscribe
    description: "Subscribe to notifications"
    
  - command: /unsubscribe
    description: "Unsubscribe from notifications"

---

Message Handlers

Basic Message Handler

workflow: "Telegram Message Handler"
trigger: telegram_message

handlers:
  text_message:
    action: |
      1. Parse message text
      2. Determine intent
      3. Process request
      4. Send response
      
  command:
    pattern: "^/"
    action: route_to_command_handler
    
  photo:
    action: |
      1. Download photo
      2. Process with vision AI
      3. Respond with analysis
      
  document:
    action: |
      1. Download document
      2. Extract content
      3. Process and respond
      
  voice:
    action: |
      1. Download audio
      2. Transcribe with Whisper
      3. Process text
      4. Respond (text or voice)
      
  location:
    action: |
      1. Extract coordinates
      2. Lookup local info
      3. Respond with relevant data

n8n Workflow

workflow: "Telegram Bot n8n"

nodes:
  - name: "Telegram Trigger"
    type: "n8n-nodes-base.telegramTrigger"
    parameters:
      updates: ["message", "callback_query"]
      
  - name: "Route Message Type"
    type: "n8n-nodes-base.switch"
    parameters:
      rules:
        - output: 0
          condition: "{{ $json.message.text.startsWith('/') }}"
        - output: 1
          condition: "{{ $json.message.photo }}"
        - output: 2
          condition: "{{ $json.message.voice }}"
        - output: 3
          fallback: true
          
  - name: "Process with AI"
    type: "n8n-nodes-base.openAi"
    parameters:
      model: "gpt-4"
      messages:
        - role: "system"
          content: "You are a helpful Telegram assistant."
        - role: "user"
          content: "{{ $json.message.text }}"
          
  - name: "Send Response"
    type: "n8n-nodes-base.telegram"
    parameters:
      chatId: "{{ $json.message.chat.id }}"
      text: "{{ $json.response }}"

---

AI-Powered Bot

GPT-4 Integration

ai_bot:
  name: "AI Assistant Bot"
  
  system_prompt: |
    You are a helpful AI assistant on Telegram.
    
    Guidelines:
    - Be concise (Telegram has message limits)
    - Use emojis appropriately
    - Format with markdown when helpful
    - Ask clarifying questions if needed
    
  features:
    - conversational_memory: true
    - context_window: last_10_messages
    - tools: [web_search, calculator, weather]
    
  message_formatting:
    max_length: 4096
    split_long_messages: true
    use_markdown: true

Multi-Modal Bot

multimodal_bot:
  handlers:
    text:
      model: gpt-4
      action: chat_completion
      
    image:
      model: gpt-4-vision
      action: analyze_and_respond
      
    voice:
      transcribe: whisper
      process: gpt-4
      respond: text_or_voice
      
    document:
      extract: based_on_type
      summarize: gpt-4
      respond: text

---

Notification System

Alert Bot

workflow: "System Alert Bot"

triggers:
  - source: monitoring_system
    event: alert
  - source: ci_cd
    event: build_status
  - source: ecommerce
    event: new_order
    
notification_templates:
  alert:
    format: |
      🚨 *Alert: {severity}*
      
      *Service:* {service}
      *Message:* {message}
      *Time:* {timestamp}
      
      [View Dashboard]({dashboard_link})
      
  build:
    format: |
      {status_emoji} *Build {status}*
      
      *Project:* {project}
      *Branch:* {branch}
      *Commit:* `{commit_short}`
      
      {details}
      
  order:
    format: |
      🛒 *New Order!*
      
      *Order:* #{order_id}
      *Customer:* {customer}
      *Total:* ${total}
      *Items:* {item_count}
      
routing:
  by_severity:
    critical: [admin_group, on_call_user]
    warning: [team_group]
    info: [logging_channel]

Scheduled Notifications

scheduled_notifications:
  daily_digest:
    schedule: "9am daily"
    template: |
      📊 *Daily Summary - {date}*
      
      📈 Sales: ${sales} ({change})
      👥 New users: {new_users}
      🎫 Open tickets: {tickets}
      
      Have a great day! ☀️
      
  weekly_report:
    schedule: "Monday 9am"
    template: weekly_metrics_report
    
  reminder:
    trigger: custom_event
    template: |
      ⏰ *Reminder*
      
      {reminder_text}
      
      Scheduled by: {creator}

---

Group Automation

Welcome Bot

group_bot:
  on_member_join:
    action: |
      1. Check if new member
      2. Send welcome message
      3. Share rules
      4. Suggest introduction
      
    template: |
      👋 Welcome to {group_name}, {user_name}!
      
      Please:
      1. Read the /rules
      2. Introduce yourself
      3. Ask questions anytime!
      
      Enjoy your stay! 🎉
      
  on_member_leave:
    action: optional_goodbye
    
  moderation:
    - spam_detection: auto_delete + warn
    - link_filtering: whitelist_only
    - flood_control: rate_limit

Poll & Survey Bot

poll_bot:
  commands:
    /poll:
      format: "/poll Question | Option1 | Option2 | ..."
      action: create_poll
      
    /survey:
      action: start_multi_question_survey
      
    /results:
      action: show_aggregated_results
      
  features:
    - anonymous_voting: optional
    - multiple_choice: optional
    - scheduled_close: optional
    - export_results: to_sheets

---

Inline Features

Inline Keyboard

inline_keyboard:
  example:
    text: "Choose an option:"
    keyboard:
      - row:
          - text: "Option 1"
            callback_data: "opt_1"
          - text: "Option 2"
            callback_data: "opt_2"
      - row:
          - text: "Cancel"
            callback_data: "cancel"
            
  callback_handler:
    opt_1:
      action: process_option_1
      response: "You selected Option 1"
      
    opt_2:
      action: process_option_2
      response: "You selected Option 2"
      
    cancel:
      action: cancel_operation
      response: "Operation cancelled"

Inline Query

inline_mode:
  trigger: "@botname query"
  
  results:
    - type: article
      title: "{query} result"
      description: "Click to send"
      message_text: "Result for: {query}"
      
    - type: photo
      photo_url: "{search_result_image}"
      
    - type: gif
      gif_url: "{gif_url}"

---

Output Example

Request: "Create a Telegram notification bot for server alerts"

Output:

# Server Alert Telegram Bot

## Setup

1. Create bot with @BotFather
2. Get token: `123456:ABC-DEF...`
3. Get chat ID for alerts channel

## n8n Workflow

nodes: 1. Webhook (receives alerts) 2. Format Message 3. Telegram Send


## Alert Templates

**Critical Alert:**

🚨 CRITICAL ALERT

Server: production-web-01 Status: DOWN Time: 2026-01-30 14:32:05 UTC

Details:

  • CPU: 98%
  • Memory: 95%
  • Disk: 89%

[View Grafana] [Acknowledge]


**Recovery:**

✅ RECOVERED

Server: production-web-01 Downtime: 5 minutes Status: All systems normal

Incident resolved automatically.


## Implementation

// Send alert function async function sendAlert(severity, message, details) { const emoji = { critical: '🚨', warning: '⚠️', info: 'ℹ️', success: '✅' };

const text = ${emoji[severity]} *${severity.toUpperCase()}*\n\n${message}\n\n${details};

await telegram.sendMessage({ chat_id: ALERT_CHANNEL_ID, text: text, parse_mode: 'Markdown' }); }


## Features
- Severity-based routing
- Inline action buttons
- Acknowledgment tracking
- Escalation rules

---

Telegram Bot Skill - Part of Claude Office Skills

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.