-
Notifications
You must be signed in to change notification settings - Fork 84
create rich menu operation #121
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@4geru |
|
@eucyt Hello Euchi-san. I updated to separate the tools file. However, it cannot open in my app. LINE app stands up many times, and restarts...
|
|
Memo promptresult{
"richMenuId": "richmenu-6ba77c74ccaf8a1153045f627cc972c3",
"setImageResponse": {},
"richMenuImagePath": "/tmp/slide-07-1749597029244.png",
"params": {
"name": "ポッチっとな",
"chatBarText": "ポッチっとな",
"selected": false,
"size": {
"width": 1600,
"height": 910
},
"areas": [
{
"bounds": {
"x": 0,
"y": 0,
"width": 1600,
"height": 900
},
"action": {
"type": "camera",
"label": "ポッチっとな"
}
}
]
}
} |
|
I checked image requirements. 👌 |
9ad75b5 to
fd89189
Compare
| size: 16:9 | ||
| --- | ||
| <style> | ||
| section { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd like to separate the common css part. However, it was a difficult. therefore, I'll work the next issue.
Prioritize release over perfection. 🙇 🙇
| const lineBlobClient = new line.messagingApi.MessagingApiBlobClient({ | ||
| channelAccessToken: channelAccessToken, | ||
| defaultHeaders: { | ||
| "User-Agent": USER_AGENT, | ||
| }, | ||
| }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the code is the same with BolbClient.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tested to work well with the Docker.
font issue was too difficult, so I'd taken the time.
| import { actionSchema } from "../common/schema/actionSchema.js"; | ||
| import { promises as fsp } from "fs"; | ||
|
|
||
| const RICHMENU_HEIGHT = 910; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
10px is for the margin.
|
@eucyt Could you review this PR again? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@4geru
Sorry for the delay.
It’s mostly LGTM!
I was able to confirm it works with Docker and Node 🎉
I’ve left a few comments on some minor points, so please address those and resolve the conflicts.
|
@eucyt Thanks for reviewing my PR 🙇 I updated. So, please check it again. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@4geru
LGTM!! Thank you!
(The CI is failing, but it’s just due to a formatting issue, so I’ll fix it and then merge.)


Hello Maintainers! 👋
Thank you for maintaining this excellent LINE Bot MCP Server project. I'm excited to contribute a new feature that adds dynamic rich menu creation capabilities. I hope this enhancement will be valuable for the community.
Background
The LINE Bot MCP Server needed functionality to create rich menus dynamically. Previously, users had to manually create rich menu images and configure them individually. There was a need for a flexible, text-based approach to generate rich menus programmatically.
Todo
1. Implemented Rich Menu Creation Feature
create_rich_menutool2. Built Template System
richmenu-templates/directoryrichmenu-examples/for reference3. Implemented Image Generation Pipeline
4. Defined LINE Bot Action Schema
src/common/schema/actionSchema.tswith schemas for 9 action types (postback, message, uri, datetimepicker, camera, cameraRoll, location, richmenuswitch, clipboard)5. Added Dependencies
@marp-team/marp-core: For Markdown to slide generation@marp-team/marp-cli: Marp command-line toolsVerified
Functionality
item01 ' ~ ' item06) in Markdown templates are properly replaced with action labelsError Handling
Technical Aspects
Result
This implementation enables automatic generation of visually appealing rich menus using only text-based configuration, significantly improving the developer experience for LINE Bot creators.
Usage
https://x.com/_4geru/status/1933793286285898071
https://x.com/_4geru/status/1933890824808632560