Package Information
Downloads: 0 weekly / 5 monthly
Latest Version: 0.1.1
Author: Aleksei
Documentation
n8n-nodes-jeenee-ui
This n8n node helps you build Telegram bot UI using Jeenee DSL (Domain Specific Language). It provides a visual interface to create interactive UI components for Telegram bots.
Features
- Visual UI Builder - Create complex Telegram bot UI through n8n's GUI using Jeenee DSL
- Full DSL Support - All Jeenee DSL components available: buttons, selects, file uploads, rich choices, etc.
- Type-Safe - Built with TypeScript for reliability
- Easy Integration - Works seamlessly with Telegram bots powered by Jeenee
Installation
Community Node Installation
- Open n8n
- Go to Settings → Community Nodes
- Click Install and enter:
n8n-nodes-jeenee-ui - Restart n8n
Manual Installation
npm install n8n-nodes-jeenee-ui
Supported Components
Interactive Components
- Buttons - Create callback and URL buttons
- Select Menu - Single or multi-select dropdowns
- Checkboxes - Multiple checkboxes with confirm button
- Text Input - Prompt users to enter text
- File Upload - Allow single or multiple file uploads
- Rich Choices - Cards with rich content and buttons
- Image Choices - Choose from images with buttons
Display Components
- Note - Display informational text
- Progress - Show processing indicators
- Image - Display images with captions
Usage Example
Simple Button Example
{
"session_id": "unique-session-123",
"message": "Choose an action:",
"update": "new",
"components": [
{
"kind": "buttons",
"items": [
{
"label": "Start",
"custom_id": "btn:start"
},
{
"label": "Help",
"custom_id": "btn:help"
}
]
}
]
}
File Upload Example
{
"session_id": "session-456",
"message": "Upload your homework",
"components": [
{
"kind": "file_upload",
"custom_id": "upload_homework",
"button_label": "📎 Upload Files",
"multiple": true,
"min_files": 1,
"max_files": 5,
"max_size_mb": 50
}
]
}
Select Menu Example
{
"session_id": "session-789",
"message": "Select your course:",
"components": [
{
"kind": "select",
"custom_id": "course_select",
"options": [
{"label": "Math", "value": "math"},
{"label": "Physics", "value": "physics"},
{"label": "Chemistry", "value": "chemistry"}
]
}
]
}
Integration with Telegram Bot
This node is designed to work with a Telegram bot that understands the Jeenee DSL format. The bot should:
- Receive the JSON output from this node via webhook
- Parse the Jeenee DSL components
- Render them as Telegram messages with inline keyboards
- Handle user interactions (button clicks, file uploads, etc.)
- Send results back to your n8n workflow
Component Reference
Buttons
kind: "buttons"items[]- Array of button objectslabel- Button textcustom_id- Callback dataurl- Link URL (for URL buttons)emoji- Optional emoji
Select Menu
kind: "select"custom_id- Unique identifieroptions[]- Array of optionslabel- Display textvalue- Value to senddescription- Optional description
max_values- For multi-select (default: 1)placeholder- Placeholder text
Text Input
kind: "text_edit"custom_id- Unique identifiertitle- Input titlesave_label- Button textplaceholder- Placeholder textmax_length- Maximum characters
File Upload
kind: "file_upload"custom_id- Unique identifierbutton_label- Button textmultiple- Allow multiple files (boolean)min_files- Minimum files requiredmax_files- Maximum files allowedmax_size_mb- File size limit in MB
Rich Choices
kind: "rich_choices2"items[]- Array of rich choice itemscustom_id- Callback identifierlabel- Button labelemoji- Optional emojiblocks[]- Content blocksrole- Optional role/titlecontent- Text content
Image Choices
kind: "image_choices"custom_id- Unique identifieritems[]- Array of image optionsimage_url- Image URLlabel- Captionvalue- Value to send
Checkboxes
kind: "checkboxes"custom_id- Unique identifieroptions[]- Array of checkbox optionslabel- Checkbox textvalue- Value to send
Note
kind: "note"text- Text to display
Progress
kind: "progress"text- Progress message (default: "Processing...")
Image
kind: "image"image_url- Image URLlabel- Optional caption
Resources
License
MIT
Support
For issues and questions, please open an issue on GitHub.