InstructBot Logo InstructBot
Login
Getting Started
Third Party Integrations
Overview StreamElements StreamLabs TipeeeStream Twitch
Applications
Commands
Overview
Command Types Creating Commands Downloading Commands Active Command Set Cooldowns Queues
Disable Profile Command Enable Profile Command External Command Help Command Input Command Mute Sound Command Parallel Command Play Sound Command Random Command Sequential Command Swap Left and Right Mouse Button Command Text Command Timeout Command Toggle Profile Command
Execute Command Nothing Command Use Command
Options
Environment
General Backup and Restore Console Key Bindings Sound Warnings
Notifications
Overview Connection
Commands
General Random Timeout Use
StreamElements StreamLabs TipeeeStream Twitch Users
Profiles
Rewards
Overview
Accumulator Discounts Follower Gifted Subscription Subscription
Editing Rewards Types of Rewards
Users Variables YouTube

Overview

  1. Support
  2. Commands
  3. Overview

See: Command Types, Creating Commands, Downloading Commands, Active Command Set, Cooldowns or Queues

Commands are actions which are performed upon your computer which either affect the game you're playing or interact with you or you're viewers in some way.

Command Types

InstructBot supports a number of different command types:

Disable Profile: Disables one or more profiles.

Enable Profile: Enables one or more profiles.

External: Launches another application upon your computer.

Help: Automatically lists other commands which are currently active.

Input: Sends keyboard or mouse input to the active application.

Mute Sound: Mutes the active application.

Parallel: Allows you to run one or more commands, randomly, from a single trigger.

Play Sound: Plays a sound.

Random: Randomly pick another command from a list you define.

Sequential: Allows you to run one or more commands, in order, from a single trigger.

Swap Mouse Button: Swaps you left and right mouse buttons.

Text: Sends text into chat.

Timeout: Times out a user in chat.

Toggle Profile: Toggles the enabled state of one or more profiles for a duration.

All commands, apart from the timeout type, can have multiple multiple instances of the command defined. For example you can have an instance of an Input Command which clicks you left mouse button and another which presses the space bar key.

InstructBot also supports some built-in command types, see here.

Creating Commands

To create a new command, find the type of command you wish to create in the sidebar and click upon it. For example in the below Input Commands are selected

InstructBot showing an example of selecting the Input Command screen.

You can then click the add button to create a new command of that type.

InstructBot showing an example of how to create a new Input Command.

Once you have configured the new command you should press the Apply button to save the changes.

InstructBot showing an example of how to save changes to an existing Input Command.

Note: The button will only be enabled when changes have been made.

Downloading Commands

As well as creating commands yourself, you can download commands other users of InstructBot have created. To do so click upon the "Commands" ribbon item.

InstructBot showing an example of how to select the commands ribbon.

If you are disconnected the Download button will be disabled, please first connect to download commands.

InstructBot showing an example of a disabled download commands button.

If you are connected you can then click the Download button.

InstructBot showing an example of an enabled download commands button.

This will open the download commands window.

InstructBot showing an example of the downloads window.

You can search for a specific command by using the search bar.

InstructBot downloads window highlighting the search bar.

You can filter by command type, author and name.

InstructBot showing an example of how to filter for a specific command.

After finding the command (or commands) you want, select them by pressing on the checkbox:

InstructBot showing an example of how to mark a command for download.

You can then click the download button to queue them for download.

InstructBot showing how to download a marked command.

Active Command Set

When InstructBot is running an active command set is maintained, e.g. those commands which are marked as "Always Active" or and linked to the active application through an enabled profile.

To see which commands are in the currently enabled you can look at the commands overview.

InstructBot showing were the commands overview screen is located.

You can then check the active column, where every command with a tick is currently active.

InstructBot commands overview screen showing which commands are active.

Note: If there is no target application only commands marked as "Always Active" will be enabled. You can either start the application you want to check or manually select it, see here.

Cooldowns

All commands can have cooldowns set globally and / or per user.

A commands global cooldown applies to all users. For example if a command has a global cooldown of 60 seconds it can only be executed once every minute by anyone.

A commands user cooldown applies to the specified user only. If a command has a user cooldown of 15 seconds, that user can execute once ever 15 seconds, two different users could execute it in quick succession, e.g. the first could execute it and then the second 2 seconds later.

A commands global and user cooldown aren't mutually exclusive, for example a users cooldown could expire but the command could still be on global cooldown and unable to execute.

Broadcaster and Allowed Users

The broadcaster and allowed users ignore both global and user cooldowns when executing commands. Any command executed by either will however influence when the command can next be executed by other users if there is a global cooldown.

Non-refundable Command Triggers and Cooldown

If a command is on cooldown and a user has paid for it e.g. through bits or a donation, they will instead be given a use of the command to be used at a later time.

You can disable the notification for this in the options, see here.

Queues

When a command is triggered it is placed within a queue to be executed.

InstructBot has two types of queues. The first type is sequential and the commands placed within it will be processed in the order they are queued:

Example of commands execution order in a sequential queue.

E.g. the commands would be processed in the order of Grenade Sound, Mute Game, Shoot and Shoot. With Mute Game2 only starting after Grenade Sound1 has finished, Shoot3 after Mute Game2 has finished and Shoot4 after Shoot3 has finished.

This makes the sequential queues good for when order matters.

The second type is parallel and the commands placed within it will be processed simultaneously:

Example of commands execution order in a parallel queue.

E.g. the commands Grenade Sound, Mute Game, Shoot and Shoot would all attempt to be executed at the same time with no guarantees of order.

This makes the parallel queues good for when order doesn’t matter.

Depending upon the type of command you create they will run on a particular queue by default.

Command Default Queue
Execute Parallel
External Parallel
Help Parallel
Input Sequential: Input
Mute Sound Sequential: Mute Sound
Nothing Parallel
Play Sound Sequential: Play Sound
Random Parallel
Swap Mouse Button Sequential: Swap Mouse Button
Text Parallel
Timeout Parallel
Use Parallel

In the above you can see that the Input, Mute Sound, Play Sounds and Swap Mouse Button commands are all run on different sequential queues.

This is done because some commands can run over a longer period of time and would prevent other commands from being run whilst they execute.

For example, if everything ran on a single sequential queue:

Example of commands running on a single queue.

You can see that both Shoot1 and 2, Mute Game3 and Grenade Sound4 commands are waiting for the Throw Grenade command to complete before they can be run.

This is desirable for the Shoot commands but the Mute Game and Grenade Sound could be executing as well if they were using a different sequential queue:

Example of commands running on two separate queues.

In general you can leave the different types of commands on their default queues but what happens if you want to be able to have you character turn left and shoot at the same time through different commands?

Both turning your character through a relative mouse move action of an input command and shooting through a left mouse button press action of an input command are performed on the Input command queue by default, so these commands would be queued together and you would see your character move and then shoot:

Example of commands being executed in a queue.

In this situation you should override the queue one of the commands execute upon and instead assign your own queue to the command. For example see here for how to assign a queue to an Input Command. In the below the turn left command has been assigned to a Mouse Move queue instead.

Example of commands executing on different queues.

You can see that both commands could then be executed simultaneously for the desired result.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish.AcceptReject