Beta for Version 4.1 Goes Live

Published: 2025-02-09 by Omsad

The beta for version 4.1 of InstructBot was started today. If you'd like to join the beta you can do so my going and signing up here

To give you an idea of what's coming I've listed the changes below.

Applications:

There have been changes to how the bot detects the target window. You now have to explicitly set if your matching with fixed text or use a regular expression. Once matched you now have the option of sticking to the process, even if the text then changes.

Finally there has been a change so that you can see what commands, poll and predictions would be active, when the application is active for the current selection of profiles.

Cooldowns:

The ability to define a cooldown which can be shared across multiple commands. E.g. if command A and B share a cooldown, when A is triggered neither A or B can be triggered again until after the cooldown period.

Shared cooldowns support both global and user specific amount. If a command has multiple cooldowns, the more restrictive will be used.

Commands:

In general all commands have changed so that:

  1. Ability to assign shared cooldowns.

  2. Ability to assign shared limitations.

  3. Ability to turn off refunding.

  4. Ability to refund a different command than the one which was triggered.

  5. Ability to control if the command is shown within the "!use info" command.

  6. Ability to set the command to appear in multiple help commands.

  7. There is a new execution screen. This is where you can now assign the queue the command will run upon. It also allows you to set the priority of the command when executed. Higher priority commands will be executed first, even if they were triggered later. You can also set other queue's to lock; locking another queue will mean that it can't be used until the command is finished. This will allow you to stop incompatible commands running at the same time, over multiple queues.

  8. You can now set the priority at which a command will trigger. This will be used if two commands have the same trigger, the one with highest priority will be picked. If more than one command has the same priority, than as before one will be picked at random.

The built-in commands e.g. !execute, !use, etc... can now have there identifiers assigned in the options. So for example you could change "!use info" to just "!info".

The help command has been modified so that:

  1. You can copy the generated text to the clipboard.

  2. You can output the text generated to a text file as well as / instead of Twitch.

  3. There is an inverse tab of the help commands tab, e.g. so you can see what commands are using the help command.

  4. You can assign a template to all the trigger.

The input command has been modified so that:

  1. You can force the target application to become selected.

The parallel command has been modified so that:

  1. You can set the number of times any of the specified commands will be run.

The play sound command has been modified so that:

  1. You can specify a variable volume at which the sound is played.  

  2. Ability to set an input device as the target. Note this will only work if the device supports it.

The random command has been modified so that:

  1. You can limit the number of times a particular choice will be picked, when multiple choices can be picked.

Limitations:

The ability to define a limitation which can be shared across multiple commands. E.g. if command A and B share a limitation, then both will count towards the limit.

Options:

A number of options have been added to all customisation of what how the UI looks, including light / dark theme, zoom level, visibility and layout of the navigation buttons etc... There have been addition behaviours to control of how the bot behaves, what warnings it shows etc...

Predictions:

Normalise the UI to be inline with how everything else is presented.

Queues:

Split out into a new screen, this allows you to explicitly define a queue that commands can run on. Once defined you can set a minimum delay between the items executed upon it.

Rewards:

Generally anywhere a random command reward is used, you can now set the limit on the number of times that reward will be generated. Once that limit is reached, it will no longer be considered when generating the reward.

Where appropriate the UI has been updated to show an example of any notifications that will be generated.

Follower, Subscription and Gifted Subscription rewards have been converted into matching "Triggered" reward. These, like commands, can now have triggers assigned and behave in the same way. E.g. you could add a follow trigger to the reward and it would be executed when a user follows.

When setting up a reward you can set the number of commands given for the triggering user, recipient user or random user. The triggering user is the user whom caused the reward to execute. The recipient user, is the user whom was the target of the trigger, e.g. the user whom has been gifted a subscription. A random user will choice from any active, inactive or older user in chat depending up the configuration.

Triggers:

In general all trigger have changed so that:

  1. They can be assigned a priority, this will override the command priority if set.

  2. They can be be assigned a cooldown, this will override the command cooldown if set.

  3. They can be be assigned a limitation, this will override the command limitation if set.

There is a new active commands changed trigger, this will occurs when the set of active commands, e.g. those which are enabled, are changed. This will happen when the game is changed or a profile is enabled / disabled. There are also application activated and application deactivated triggers, these fire when the active application is changed.

The word trigger has had a case sensitive flag added, if set "Word" and "word" will be treated as different text, e.g. the case matters.

User Interface:

The UI has bene completely remade to allow for the changes listed below.

  1. Multi language support. Currently English (GB) and English (US) are complete. German, French and Spanish are in progress, so there will still be some English present if you switch to those languages but we aim to have it complete by the time the 4.1 beta is complete.

  2. Support for high resolution monitors and the scaling they require.

  3. Merging Console and Processing screens into a single Dashboard screen.

  4. Added support so that all items can be "tagged" to allow for easier organisation.

  5. Added support so that all items can be filtered.

Users:

Normalise the UI to be inline with how everything else is presented. Added a new screen so you can see the uses of commands a specific user has.