Loading...
Loading...
Use when asked to send a message to an x-bees, collaboration 7, x-hoppers chat channel on behalf of a bot or user. Triggers on requests like "send a message to channel X", "notify channel", "post to chat", "reply to message", "send file", "attach file to message".
npx skill4agent add wildix/agent-skills wildix-send-messageGlob ~/.claude/skills/wildix-auth/SKILL.md
# If missing: npx skills add Wildix/agent-skills --s wildix-auth -ypeers.yamlBOT_TOKEN in .env?
YES → use bot mode (no auth needed)
NO → user wants to send as themselves?
YES → get ID_TOKEN via wildix-auth skill
NO → ask: "Provide BOT_TOKEN or send as your user account?"
BOT_TOKEN provided → save to .env, use bot mode
user account → get ID_TOKEN via wildix-auth skillbash <BASE_DIR>/scripts/send-message.sh "<channelId>" "<text>"ID_TOKEN="$ID_TOKEN" bash <BASE_DIR>/scripts/send-message.sh "<channelId>" "<text>"--reply-to <messageId># Bot:
bash <BASE_DIR>/scripts/send-message.sh "<channelId>" "<replyText>" \
--reply-to "<messageId>"
# User (token via env):
ID_TOKEN="$ID_TOKEN" bash <BASE_DIR>/scripts/send-message.sh "<channelId>" "<replyText>" \
--reply-to "<messageId>"messageIdquotemessageIdchannelIdcreatedAtuser# Bot:
ATTACH1=$(bash <BASE_DIR>/scripts/upload-file.sh "<channelId>" "/path/to/file.pdf")
ATTACH2=$(bash <BASE_DIR>/scripts/upload-file.sh "<channelId>" "/path/to/image.png")
# User (token via env):
ATTACH1=$(ID_TOKEN="$ID_TOKEN" bash <BASE_DIR>/scripts/upload-file.sh "<channelId>" "/path/to/file.pdf")
ATTACH2=$(ID_TOKEN="$ID_TOKEN" bash <BASE_DIR>/scripts/upload-file.sh "<channelId>" "/path/to/image.png")upload-file.shMessageAttachment# Bot:
bash <BASE_DIR>/scripts/send-message.sh "<channelId>" "<text>" \
--attach "$ATTACH1" \
--attach "$ATTACH2"
# User (token via env):
ID_TOKEN="$ID_TOKEN" bash <BASE_DIR>/scripts/send-message.sh "<channelId>" "<text>" \
--attach "$ATTACH1"--reply-to--attachATTACH=$(bash <BASE_DIR>/scripts/upload-file.sh "<channelId>" "/path/to/file.pdf")
bash <BASE_DIR>/scripts/send-message.sh "<channelId>" "<text>" \
--reply-to "<messageId>" \
--attach "$ATTACH"| Operation | Endpoint |
|---|---|
| Send message | |
| Request upload URL | |
| Upload binary | |
| Get file metadata | |
textquote.messageIdattachmentsMessageAttachment<BASE_DIR>/.envBOT_TOKEN=wsk-v1-...| Problem | Fix |
|---|---|
| Using AccessToken instead of IdToken | Always use IdToken (from wildix-auth) for user-mode sends |
Passing raw file path to | First run |
| On macOS |
| S3 upload 403 | Presigned URL expired — re-run |