wechat-message-sender
v1.0.0Automate sending text messages and images/files in the macOS WeChat desktop app by controlling the UI via AppleScript and JXA. This is NOT a WeChat chat channel for OpenClaw — it controls the WeChat GUI on your Mac to send messages on your behalf. Use when: (1) user asks to send a WeChat message to...
Installation
Please help me install the skill `wechat-message-sender` from SkillHub official store.
npx skills add yeholdon/wechat-message-sender
WeChat Send
Send messages to WeChat contacts by automating the macOS WeChat desktop app.
Prerequisites
- WeChat for Mac installed and logged in
- macOS Accessibility permission granted to
node(System Settings → Privacy & Security → Accessibility) - WeChat window must be open (not minimized to dock)
Usage
Run the scripts:
# Send text
bash scripts/wechat_send.sh "<contact_name>" "<message>"
# Send an image (or any file attachable by WeChat)
bash scripts/wechat_send_image.sh "<contact_name>" "/path/to/image.png"
Examples
# Send a simple message
bash scripts/wechat_send.sh "Ryan" "你好!"
# Send a longer message
bash scripts/wechat_send.sh "Ellison" "明天下午3点开会,别忘了带文件"
# Send a screenshot
bash scripts/wechat_send_image.sh "Family" "/Users/you/Desktop/screen.png"
How It Works
- Activates WeChat and opens search (Cmd+F)
- Types the contact name, selects the first result (Enter), closes search (Escape)
- Clicks the message input field using JXA CGEvent mouse simulation
- Pastes the message from clipboard (Cmd+V) and sends (Enter)
Limitations
- Contact name must exactly match a WeChat contact (first search result is selected)
- Image/file sending depends on WeChat accepting paste-from-clipboard as an attachment (works for common formats like PNG/JPG)
- Cannot read incoming messages
- WeChat window position affects click coordinates (auto-calculated from window bounds)
- If the contact search returns wrong results, the message goes to the wrong person — use specific names
- Only one message at a time; for multiple recipients, call the script multiple times
Troubleshooting
- Message not sent: Ensure WeChat window is visible (not minimized) and the correct contact was found
- Accessibility error: Re-grant node permission in System Settings → Accessibility, then restart the gateway
- Wrong contact: Use a more specific name to avoid ambiguous search results