Skip to content

Latest commit

 

History

History
362 lines (226 loc) · 8.95 KB

File metadata and controls

362 lines (226 loc) · 8.95 KB

Command Reference

This is a complete reference for all Bot Shock commands. All commands use Discord's slash command system.

Contents

OpenShock Commands

Commands for managing your OpenShock account and devices.

/openshock setup

Register your OpenShock account with the bot.

A form will appear asking for your API token. The bot validates the token and lets you select which devices to add.

How to get your API token:

  1. Log in to openshock.app
  2. Go to Settings, then API Tokens
  3. Create a new token or copy an existing one

/openshock add

Add devices from your OpenShock account.

The bot fetches your available shockers and shows them in a selection menu. Choose which ones to add to this server.

/openshock list

View your registered devices.

Shows all devices you have added to this server, along with their IDs and names.

/openshock remove

Remove a device from the bot.

Parameters:

  • device_id: The ID of the device to remove

/openshock device_status

Toggle whether you are wearing your device.

When set to not wearing, controllers cannot send shock commands to you. This is a quick safety measure that does not remove any permissions.

/openshock check_device

Check your current device status.

Shows whether you are currently set to wearing or not wearing.

/openshock unregister

Remove your account and all data from the bot.

This is permanent. All your devices, reminders, triggers, and controller permissions will be deleted.

PiShock Commands

Commands for managing your PiShock account and devices.

/pishock setup

Register your PiShock account with the bot.

A form will appear asking for your username and API key. Find these in your PiShock account settings.

After registering, you need to add your devices manually using share codes.

/pishock add

Add a device using a share code.

A form will appear asking for your share code and an optional name. You can paste either the share code directly or the full PiShock share URL.

How to get a share code:

  1. Open the PiShock app
  2. Select the shocker you want to use
  3. Go to Share and create a new code
  4. Copy the code or the share URL and paste it here

/pishock list

View your registered devices.

Shows all share codes you have added to this server.

/pishock remove

Remove a device from the bot.

Parameters:

  • share_code: The share code to remove

/pishock unregister

Remove your account and all data from the bot.

This is permanent. All your devices, reminders, triggers, and controller permissions will be deleted.

Shock Command

/shock

Send a shock, vibration, or sound to a device.

This command works with both OpenShock and PiShock devices. The bot automatically uses the correct API based on the target user's registered platform.

Requirements:

  • The target must be wearing their device
  • You must have permission to control the target
  • The target must have at least one device registered

Parameters:

  • user (optional): Who to shock. Auto-selected if you only control one person.
  • intensity (optional): 1 to 100. Uses your defaults if not specified.
  • duration (optional): 300 to 65535 milliseconds. Uses your defaults if not specified.
  • action (optional): Shock, Vibrate, or Sound. Uses your defaults if not specified.
  • shocker_id (optional): Which device. Auto-selected if the target has only one.

The bot remembers your last-used settings and applies them when you do not specify values.

Common error messages:

  • "User is not wearing their device" means the target disabled their device status
  • "No permission to control this user" means you need to be added as a controller
  • "User has no shockers registered" means the target needs to add devices

Examples:

/shock user:@Alice intensity:50 duration:1000 action:Shock
/shock user:@Alice
/shock intensity:30 duration:500 action:Vibrate

Controller Management

Controllers are users or roles with permission to control your devices. You must explicitly grant this permission.

/controllers add

Give control permission to users or roles.

Opens an interactive menu where you can select users, roles, or both. Review your selections and confirm to grant access.

/controllers remove

Revoke control permission.

Parameters:

  • user (optional): The user to remove
  • role (optional): The role to remove

Specify either a user or a role, not both.

Examples:

/controllers remove user:@JohnDoe
/controllers remove role:@SomeRole

/controllers list

View everyone who can control your device.

Shows individual users, roles, and when each permission was granted.

Reminders

Reminders are scheduled shock commands that execute automatically.

/remind set

Create a new reminder.

Parameters:

  • time: When to trigger
  • intensity: 1 to 100
  • duration: 300 to 65535 milliseconds
  • action: Shock, Vibrate, or Sound
  • recurrence (optional): Pattern for repeating
  • user (optional): Target user, defaults to yourself

Time format examples:

  • in 5 minutes
  • in 2 hours
  • tomorrow at 3pm
  • 2024-12-25 14:30
  • next monday at 9am

Recurrence format examples:

  • every day
  • every 2 hours
  • every weekday
  • every monday at 10am
  • every 30 minutes

/remind list

View your active reminders.

Parameters:

  • page (optional): Page number for pagination

/remind cancel

Cancel a reminder.

Parameters:

  • reminder_id: The ID of the reminder to cancel

/remind info

Get details about a specific reminder.

Parameters:

  • reminder_id: The ID of the reminder

Triggers

Triggers activate automatically when someone sends a message matching a pattern.

/trigger add

Create a new trigger.

Opens a form where you enter the trigger name (optional) and the pattern to match.

Parameters:

  • intensity: 1 to 100
  • duration: 300 to 65535 milliseconds
  • action: Shock, Vibrate, or Sound
  • cooldown: Seconds before the trigger can activate again (0 to 3600)
  • user (optional): Target user, defaults to yourself

Pattern examples:

  • bad word matches that exact phrase
  • bad word|naughty phrase matches either phrase
  • \bstupid\b matches the whole word "stupid"
  • oops|whoops|mistake matches any of these

/trigger list

View active triggers.

Parameters:

  • user (optional): Filter by target user
  • page (optional): Page number

/trigger remove

Delete a trigger.

Parameters:

  • trigger_id: The ID of the trigger to delete

/trigger toggle

Enable or disable a trigger without deleting it.

Parameters:

  • trigger_id: The ID of the trigger
  • enabled: True or False

/trigger info

Get details about a trigger.

Parameters:

  • trigger_id: The ID of the trigger

Preferences

/preferences set_defaults

Set your default shock parameters.

When you use /shock without specifying all values, these defaults are used.

Parameters:

  • intensity: Default intensity (1 to 100)
  • duration: Default duration (300 to 65535 milliseconds)
  • action: Default type (Shock, Vibrate, or Sound)
  • target_user (optional): Set different defaults for a specific user

/preferences view

View your current preferences.

Parameters:

  • target_user (optional): View preferences for a specific user

/preferences reset

Reset preferences to default values.

Parameters:

  • target_user (optional): Reset preferences for a specific user only

Action Logs

/logs view

View the history of shock commands.

Parameters:

  • days (optional): How many days to look back (1 to 90, default is 7)
  • page (optional): Page number

Shows who sent the command, when, target, shock parameters, and source (manual, reminder, or trigger).

/logs export

Download logs as a CSV file.

Parameters:

  • days (optional): How many days to export (1 to 90, default is 30)

Server Settings

These commands require the Manage Roles permission in Discord.

/settings set_control_roles

Configure administrative roles for the server.

Bot Shock uses consent-based permissions. Control roles are for administrative purposes only. Users must still grant permission through /controllers add before anyone can control their devices.

Quick Reference

OpenShock Users

  1. /openshock setup to register
  2. Select devices during setup, or use /openshock add later
  3. /controllers add to grant permissions to others
  4. /shock to send commands

PiShock Users

  1. /pishock setup to register
  2. /pishock add to add share codes
  3. /controllers add to grant permissions to others
  4. /shock to send commands

Safety Commands

  • /openshock device_status or check your platform's equivalent to toggle wearing status
  • /openshock check_device to see current status
  • /controllers remove to revoke access
  • /openshock unregister or /pishock unregister to remove all data