Releases
Version 3.2 of InstructBot tweaks the user interface, adds new triggers, a new action to the input command and more control over when commands active.
User Interface Tweaks
Area Differentiation
It was hard to tell the different areas of InstructBot with the 3.0 UI update. So the colours have been changed to that is more obvious where one area starts and the other ends.


The left hand navigation bar has also been shrunk so that it takes up less space.
Processing
A new menu has been added when your on the processing screen so that you can now skip or refund commands.

Users
A new flag has been added to users which makes InstructBot ignore them when querying for users to reward or calculating statistics.

For example marking InstructBot as ignored will cause InstructBot to be removed from the list of valid user when giving out subscription rewards. Users which have been detected as banned are now also automatically ignored.
Commands
Active Application Required
All command have had an active application setting created. Below shows an example of the setting on an Input command.

Allow command will start with the "Default" value assigned. You can update the value to:
Default: Input, Mute Sound and the Swap Mouse Button command types require an active application by default. All other command types default to unrequired.
Required: There must be an active application for the command to execute.
Unrequired: The command will be run with or without an active application.
Always On
All command have had an always on setting created. Below shows an example of the setting on an Input command.

When toggled on the command will always be considered active even if the command isn't contained within a profile attached to the currently active application. This mimics the behaviour of version 2 of InstructBot.
Input Command: Scroll Wheel Actions
Two new action types, mouse scroll wheel down and mouse scroll wheel up have been added. They will each spin your mouse wheel a number of times over a given duration.
Below show an example of a Mouse Scroll Wheel Up action which turns your mouse between 10 and 20 clicks over 2 seconds.

Triggers
There have been a number of new triggers created which can be used to queue commands. The bits and donation triggers have been updated with more options and the majority of triggers can now also have permissions assigned.
Permissions
For the majority of triggers you can now assign permissions limiting them to viewers, VIP's or moderators. For example you could create a trigger which is only valid for moderators.

Or you could also create a trigger to reward your VIP's by making a command cost less:

Ban
A new trigger type which will execute whenever a user is banned. You can't assign permissions to this trigger.
Bits
An existing trigger type which executes whenever bits are received. You can now assign permissions to this trigger and configure it in four different ways.
Exactly: The below will trigger when 4,444 bits are received.

At Least: The below will trigger when 99 or more bits are received.

Up to: The below will trigger when 98 or less bits are received.

Between: The below will trigger when 200 or more and 240 or less bits are received.

Please note all existing bits triggers will be updated to Exactly bits triggers.
Donation
An existing trigger type which executes whenever a donation is received. You can now assign permissions to this trigger and like bits triggers configure it in four different ways.
Exactly: Will trigger when a donation of matching amount is received.
At Least: Will trigger when a donation of matching amount or more is received.
Up to: Will trigger when a donation of matching amount or less is received.
Between: Will trigger when a donation of matching minimum amount or more and matching maximum amount or less is received.
Please note all existing donation triggers will be updated to Exactly donation triggers.
Free
An existing trigger type which executes whenever a user types the trigger identifier in chat. You can assign permissions to this trigger.

Host
A new trigger type which executes whenever you are hosted. You can assign permissions to this trigger and specify the minimum number of viewers required. For example in the below two host triggers are defined. One for viewers and another for VIP's and moderators.

Points
An existing trigger type which executes whenever a user types the trigger identifier in chat. You can assign permissions to this trigger.
Raid
A new trigger type which executes whenever you are raided. You can assign permissions to this trigger and specify the minimum number of viewers required.
Subscription
An existing trigger type which executes whenever a user subscribes. You can assign permissions to this trigger.
Timed
A new trigger type which executes at a specified frequency, e.g. ever 5 minutes. You can't assign permissions to this trigger but can specify the minimum number of messages before triggering again. When calculating this number any message for a user marked as ignored, see here aren't counted.

Unban
A new trigger which will executed whenever a user is unbanned. Note you can't assign permissions to this trigger.
Word
A new trigger which will executed whenever the specified word (or words) are typed in chat. Please note that if multiple words are entered one will be picked as active randomly and then once typed in chat will be swapped randomly for a different specified word.

Version 3.1 of InstrucBot come new features integrating it more tightly with Twitch.
Twitch Channel Points.
The ability for it to now respond to twitch channel point redemptions allowing you to setup rewards which will trigger commands.
If you've used StreamElements or StreamLabs points in InstructBot before all you'll have to do is enable the Twitch points system, see: here, and then create rewards with matching point cost.
If you're new to InsructBot you'll need to do the above and then create commands with a points trigger. See here on how to create a command.
With the above done the next time a user redeems a reward, a command with matching points cost will be triggered.
Setting Your Category Automatically.
InstructBot can now update the category displayed on Twitch to match your currently active application name. To see how to enable this behaviour see: here.
Setting Your Stream Title.
The user interface has been improved so that you can set your stream title through it.
Enhanced Use Command.
A new remove argument has been added to the use command. The inverse of add, this removes uses of a command for a particular user, see: here.
Version 3.0 of InstructBot comes with a bunch of new features an overview of which is listed below.
Applications
Applications allow you to define settings and profiles used per application. For example you can have different mouse configuration and target windows per application. This allows you to switch between games quickly without needing to re-target InstructBot.
As well as allowing you to define multiple applications InstructBot will try and update the application it targets automatically (if configured to do so), so you don't need to change anything as the active window changes.
To see more about active application targeting, see here.
Commands
Types
There are two new command types: External Command and Text Command.
External Command
Allows you to trigger a third party application with InstructBot passing it the required arguments.
Text Command
Allows you to output text into chat.
Enhancements
In general most commands have been enhanced with the following options.
Cooldowns
The ability to set a global cooldown and / or user cooldown. For more information on cooldown see here.
Help
The ability to configure the help command the command appears within it. You can see more information on the help command in each command type.
Queue
The queue the command is executed within. For more information on queues see here.
Sound Effects
The play sound commands to play at the start or end of the command.
Help Command
The help command replaces the help options from version 2 of InstructBot. It allows you to output text on how commands can be triggered.
Input Command
The renamed action commands have the common improvements to commands, a revised way of updating an absolute mouse movement command and a new repeat action.
Swap Mouse Button Command
The swap mouse button command have the common improvements to commands and a new pulsing effect which will trigger the mouse swap on and off when enabled.
Timeout Command
The timeout commands have been merged into one command from version 2 but allowing multiple duration. It also allows more fine grade control upon whom is timed out.
Console
The console screen shows you chat, activities and users. It will also show when commands are run and any warning which occur as InstructBot runs them.
You can configure it to highlight certain users, or users groups (moderators or VIPs).

Notifications
There have been updates to the notifications InstructBot sends as it runs allowing you more fine control of what InstructBot sends into chat. To see more about configuring the notification see here.
Processing
The processing screen replaces the commands window. You can see the list of commands which are queued, existing or completed. Quickly see whom triggered it, where is came from and if the user paid for it using bits, points, etc...

Rewards
Accumulator
The accumulator screen allows you to reward chat for cheers or donations which don't trigger commands. When a total you decide is reached the accumulator is triggered distributing uses of commands.
To see more about configuring the accumulator see here.
Discounts
The discount screen allows you to set a global and / or tier based discount for command. When discounts are enabled the prices in the help command will be adjusted for the type of user triggering the command.

To see more about configuring the discounts see here.
Subscriptions
The subscriptions screen allows you to reward chat for each subscription which occurs. Depending upon the tier you can gift different commands to the triggering user and / or other users in chat.
To see more about configuring the subscriptions see here.
Profiles
Profiles are used to organise commands into groups, which can be enabled and disable easily or allow you different command sets for different applications. To see more about profiles see here.
Timeline
The timeline screen shows you statistic of the selected period. From average viewer count, active viewer count, to how the commands run relate to the interaction within your stream.
Currently limited in scope, as more data is collected I hope to be able to make suggestions about command costs which will increase interaction based upon anonymous usage statistics of streamer of similar size.

Bug Fixes
Fixed a bug with authentication token expiring unexpectedly.
Fixed a bug with sound device selection in the options window.
Enhancements
Enabled silent re-authentication so only when user interaction is required will browser pages be opened.
Version 3 Ready
Updated client to be ready to upgrade to version 3.
Bug Fixes
Fixed a bug with the StreamElements integration.
Mute sound command
Created a mute sound command that will mute the target application (e.g. the game) for a duration.
Play sound command
Create a play sound command that will play a sound file.
Bug Fixes
Fixed a bug were copying actions wouldn't copy everything.
Fixed a bug were copying commands wouldn't copy everything.
Fixed a bug were commands which have no cost but a trigger (e.g. a free command) wouldn't be queued.
Swap left and right mouse button command
The swap left and right mouse button command has been updated so that uses can be added.
Use Add Command for Viewer
The use add command has been updated so that it functions for viewers.
For a viewer to give themselves a use of a command they must type !use add TriggerOrBitAmount CheerXXX, e.g. they must include the cheer amount in the command (or donation). Note the number of uses will be calculated from the cheer amount, e.g. so they can gift multiple uses to themselves at the same time.
If the viewer wants to give another viewer a use they must include there user name !use add UserName TriggerOrBitAmount CheerXXX e.g. it's the same as the existing use add command, you must just include the correct cheer amount, or be within a donation message.
StreamElements Integration (Beta).
StreamElements integration has been enabled. You can now connect your StreamElements account and respond to donations or use it's points system etc...
Please let me know if you run into any issues with this.
Bug Fixes
Miscellaneous bug fixes.
Absolute mouse movement action created
The absolute mouse movement action let you select a position on screen to place your cursor.
Automatic Updates
The bot now check what version you are running and prompts you to update if a newer version is available.
Execute command updated
The @InstructBot execute ... command can be shortened to !execute.
Note: In future releases the @InstructBot path to the commands will be depreciated, so please update to using the new syntax.
Mouse button down action created
Like the key down action, there is now equivalent mouse button down action.
The mouse button up action presses the specified mouse button.
Mouse button up action created
Like the key up action, there is now equivalent mouse button up action.
The mouse button up action releases the specified mouse button.
Relative mouse movement action created
The relative mouse movement action let you select the number of degrees to move horizontally and vertically.
To enable relative mouse movements you must configure the bot see: Mouse Configuration .
Trigger to command converter updated to enable future enhancement
Updates to how chat commands / bits / donations / points are converted into commands which are executed. There should be no difference for bits / donation / points. For chat commands if you have defined a trigger for you command they can now be used as a short hand. E.g. if you have a command which costs 100 bits and has a unique trigger of dropmag you as the broadcaster, moderators if enabled (and whitelisted if required), or a viewer with uses etc... can now type !dropmag in chat and have the action performed.
When evaluating if a command can execute there is the following priority: Broadcaster => Moderator => Paid => Use => Points.
E.g. is a viewer types !dropmag and has a use of the command, the use will be used, otherwise if points are enabled points will be used.
Viewers could also trigger commands by typing !dropmag Cheer100
Note: this doesn't stop viewers just cheering. It also doesn't stop the need for the trigger to be defined if you have multiple commands with the same bits / donation cost. E.g. you can still dropmag Cheer100 or Cheer100 dropmag.
Use add command updated
The @InstructBot use add ... command can be shortened to !use add.
Note: In future releases the @InstructBot path to the commands will be depreciated, so please update to using the new syntax.
Use info command created
A new command which allows your viewers to see how many uses of commands they have. It can be trigger by typing @InstructBot use info or !use info in chat.
User interface updated
There have been some minor changes to the UI.