Xtoys.app Webhook Controller

v1.1.2

Control xtoys.app devices via webhook. Supports precise control of various body parts for remote intimate device control.

0· 154·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for kasuganosora/xtoys-app.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Xtoys.app Webhook Controller" (kasuganosora/xtoys-app) from ClawHub.
Skill page: https://clawhub.ai/kasuganosora/xtoys-app
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install xtoys-app

ClawHub CLI

Package manager switcher

npx clawhub@latest install xtoys-app
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description describe webhook-based device control and the package contains a Python controller that issues HTTP requests to https://webhook.xtoys.app with action and level parameters — this matches the stated purpose. The implemented actions and CLI/API surfaces are consistent with documentation.
Instruction Scope
SKILL.md and tools.json instruct running scripts/xtoys_control.py and recommend XTOYS_WEBHOOK_ID or config.json. The runtime instructions and script operate only by reading a webhook ID and sending HTTP GET requests to the webhook host. Minor scope note: the script looks for config.json in multiple locations (relative paths, ~/.config/xtoys, /etc/xtoys) which is reasonable for config but means it will read those files if present.
Install Mechanism
No install spec or external downloads are present. Dependencies are standard Python libs (requests, urllib3) declared in requirements.txt — no high-risk installer behavior.
Credentials
The skill requires a webhook identifier (XTOYS_WEBHOOK_ID) to function; SKILL.md documents this but the registry metadata lists 'required env vars: none' — slight metadata omission. No other secrets or unrelated credentials are requested. The script reads config.json from several standard locations (including /etc and ~/.config), but only to obtain the webhook_id.
Persistence & Privilege
always is false and the skill does not request persistent system modifications or cross-skill config changes. It creates no install-time artifacts and only opens outbound HTTP connections as needed.
Assessment
This skill appears to do what it claims: read a webhook ID (from argument, env var, or config file) and send GET requests to webhook.xtoys.app with action and level. Before installing: 1) Verify the webhook domain and project source (source is listed as unknown — consider checking the GitHub repo linked in README to confirm authenticity). 2) Keep your XTOYS_WEBHOOK_ID private (anyone with it can control devices). 3) Note the script will look for config.json in ~/.config and /etc — ensure those files do not contain sensitive data you don't want read. 4) If you distrust network activity, restrict the skill's network access or test in a controlled environment. 5) Use low intensity and safeword/testing when exercising remote-control features.

Like a lobster shell, security has layers — review code before you run it.

latestvk97dgz63tvb75y6ew2jw4y7mes83b4cr
154downloads
0stars
3versions
Updated 1mo ago
v1.1.2
MIT-0

Xtoys.app Webhook Skill v1.1.0

Remote control xtoys.app connected devices via webhook API.

Configuration

Three configuration methods supported (priority from high to low):

1. Environment Variable (Recommended)

export XTOYS_WEBHOOK_ID="your-webhook-id-here"

2. Command Line Parameter

python3 scripts/xtoys_control.py --webhook-id xxx --action left_nipple --level 50

3. Configuration File

Set in config.json:

{
  "webhook_id": "your-webhook-id-here"
}

Get your Webhook ID:

  1. Open xtoys.app
  2. Go to Settings → Webhook
  3. Copy Webhook ID

Usage

Command Line

# Control specific body part
python3 scripts/xtoys_control.py --action left_nipple --level 50

# Stop current stimulation
python3 scripts/xtoys_control.py --action stop

# List supported actions
python3 scripts/xtoys_control.py --list

# Test connection
python3 scripts/xtoys_control.py --test

# Use environment variable
XTOYS_WEBHOOK_ID=xxx python3 scripts/xtoys_control.py --action clitoris --level 80

# Show verbose logs
python3 scripts/xtoys_control.py --action left_nipple --level 30 --verbose

As Tool Call

from scripts.xtoys_control import XtoysController

# Method 1: Using context manager (recommended)
with XtoysController("your-webhook-id") as controller:
    controller.send_command("left_nipple", 50)  # 50% intensity
    controller.send_command("clitoris", 80)      # 80% intensity
    controller.stop()  # Stop current

# Method 2: Manual management
controller = XtoysController("your-webhook-id")
try:
    controller.send_command("both_nipples", 50)
finally:
    controller.close()

# Method 3: Using environment variable
import os
os.environ["XTOYS_WEBHOOK_ID"] = "your-webhook-id"
with XtoysController() as controller:
    controller.send_command("vagina", 50)

# Batch operations
commands = [
    {"action": "left_nipple", "level": 30},
    {"action": "right_nipple", "level": 30},
    {"action": "clitoris", "level": 50},
]
results = controller.send_batch(commands)

Supported Actions (Body Parts)

Note: xtoys can only operate one body part at a time. When switching parts, the previous part will automatically be set to 0.

Body Parts (Individual intensity control)

  • left_nipple - Left nipple
  • right_nipple - Right nipple
  • both_nipples - Both nipples
  • left_breast - Left breast
  • right_breast - Right breast
  • both_breasts - Both breasts
  • clitoris - Clitoris
  • vagina - Vagina
  • anus - Anus

Special Commands

  • stop - Stop current stimulation
  • pause - Pause current stimulation (same as stop)

Level (Intensity)

  • Range: 0 - 100
  • 0 = Stop the body part
  • 100 = Maximum intensity

How It Works

  1. Single Part Limitation: xtoys can only stimulate one body part at a time
  2. Auto-switching: When setting a new part, the previous part is automatically stopped
  3. Stop: Use stop or set any part's level to 0

Environment Variables

VariableDescriptionExample
XTOYS_WEBHOOK_IDWebhook IDabc123
XTOYS_LOG_LEVELLog levelDEBUG, INFO, WARNING, ERROR

Example Scenarios

# Gradual increase
for i in 10 30 50 70 100; do
  python3 scripts/xtoys_control.py --action left_nipple --level $i
  sleep 2
done

# Random fluctuation
python3 scripts/xtoys_control.py --action clitoris --level $((RANDOM % 100))

# Use in scripts
export XTOYS_WEBHOOK_ID="your-webhook-id"
python3 scripts/xtoys_control.py --action left_nipple --level 30
python3 scripts/xtoys_control.py --action clitoris --level 50
python3 scripts/xtoys_control.py --stop

Safety Guidelines

  • Always ensure remote control is consensual
  • Use safeword mechanism
  • Avoid prolonged high-intensity use
  • Start with low intensity for first-time use
  • Keep webhook ID confidential, do not share publicly

Dependencies

pip install requests urllib3

Changelog

v1.1.0

  • Fixed "estim" leading space issue
  • Added environment variable support (XTOYS_WEBHOOK_ID)
  • Improved error handling and logging system
  • Added connection pooling and auto-retry
  • Added batch operation support
  • Added connection test feature
  • Added context manager (with statement) support

v1.0.0

  • Initial release
  • Basic webhook control functionality

Comments

Loading comments...