Description
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.