Blog

Announcement and thoughts about the future of InstructBot.

Published: 2021-07-17 by Omsad

With the release of version 3.4 and 3.5 ready for testing my thoughts are turning towards what is coming in version 3.6.

My aim is to increase the reliability of the third party integrations, e.g. Twitch, StreamElements and StreamLabs, as well as increase the number of connections available.

Feedback is appreciated so if you have any comments on the below please join the InstructBot discord and let us know.

Existing Third Party Integrations

A re-work to the connections mechanism so they are all independent and can be connected / disconnected without affecting the other connections. Increase visibility of when InstructBot is reconnecting, e.g. showing when the connection to Twitch Chat, Twitch PubSub, StreamElements etc... has been dropped, and is reconnecting.

StreamElements

Investigate and fix why authentication intermittently fails to get the client when connecting. Implement additional logic for Extra Life and Tiltify charity events.

Twitch

Integrate new emote endpoint so that emotes can be loaded when starting rather than as they are used.

New Third Party Integrations

Add support for connections to Tipeeestream.

Published: 2021-06-30 by Omsad

The first batch of tutorial videos on YouTube have been released. I hope to have the next set ready within a couple of weeks. You can see an example of the videos below.

If you have suggestions for more videos, please join our discord and make a suggestion. To be notified when more videos are released please subscribe on YouTube .

Upcoming Release Version 3.4

Bug bashing and more.

Published: 2021-05-01 by Omsad

The upcoming release of version 3.4 is has three main areas of focus.

Timeout Command

As well a enabling you to specify the reason for the timeout, requested improvements to enable the command to timeout only the triggering user and reducing any timeout which is currently applied are planned and underway.

Shows changes to the timeout command in version 3.4 of InstructBot.

Simplifying and Improving the UI

There are a number of changes planned which include:

Simplifying command activation by removing the ability to toggle commands on and off explicitly and merge the other various options together in one place.

Showing the new command activation settings in InstructBot.

Adding the ability to have multiple swap mouse button commands.

Showing the update to allow InstructBot to have multiple swap mouse button commands.

Adding uses to text commands.

Showing how InstructBot text commands can now have uses.

Bug Fixing and Improving Performance

The third set of changes are around bug fixing and improving performance both in the client and backend services.

  • Fixing an number of issues in the UI caused by different DPI's.

  • Introducing improved error handling in the backend servers.

  • Re-enabling multiple instances of InstructBot to function at the same time from multiple computers when using the same account.

  • Reduced processing time of the first command.

Published: 2021-03-20 by Omsad

After having a few entries for people interested in editing videos I've chosen to go with Hue or Campiest Camper on Twitch.

Over the next few months his going to be create a bunch of tutorial videos, starting with video about setting up Twitch, StreamElements and StreamLabs, then moving on to creating applications and profiles before finally creating a video per command type.

I hope to have a set of videos ready to release at the same time version 3.4 or 3.5 is ready to be go.

Published: 2021-03-02 by Omsad

I'm look for a video editor to create tutorial videos for InstructBot. At the moment this is exploratory to figure out what they would require from me. So if you are a video editor or know of one please, join the InstructBot discord and message Omsad or e-mail me at omsad@instructbot.co.uk.

Published: 2021-02-25 by Omsad

The aim for version 3.5 is to tackle a number of questions I frequently get asked how to "fix", which at the moment either have no answer or have an answer which is unsatisfactory.

Feedback is appreciated so if you have any comments on the below please join the InstructBot discord and let us know.

Backup

Currently InstructBot's backup is configured to run every time the application is opened. It copies the configuration file to the backup directory, storing ten of these files and deleting the older ones past this limit as required.

This has worked well mostly, as if a user needed to restore to a previous state they can pick one of the files and overwrite the current one. This is however a manual process and it would be better with a user interface to control it.

I would also like to allow configuration of where the backups are stored and the interval at which they're taken as it may not be necessary to create a backup every time the application is opened. E.g. maybe a backup is required once per week and before the bot is updated.

It would also be nice to have a way to manually trigger the backup process, say if you know you're going to need it.

Commands

One of the most common questions I get asked is "How do I stop command X from executing when I'm doing Y".

A good example of this is wanting to delay throwing a grenade in Escape From Tarkov because you're sprinting, until after you have stopped sprinting.

To fix this I'm going to be adding the ability to add conditions on when a command can execute. This isn't an entirely new concept as some commands already have a conditions to execute, e.g. they require your game to be active.

The initial set of logic will be pretty minimal, limited to the ability to create simplistic boolean logic and being able to monitor the keyboard state. I hope this will then to allow conditions like Don't execute whilst my Left Shift and W keys are pressed to be defined. 

Rewards

Discounts

An update to the discounts so that a discount can be applied for Moderators and VIPs. Like the subscriber discounts this will be in addition to any global discount. It's also planned that these will be mutually exclusive to subscriber discounts. E.g if a viewer is both a tier 1 subscriber and a moderator, then only one discount (the largest), will apply.

Accumulator and Subscription

The existing rewards system for the accumulator and subscribers both do similar things, reward a number of random commands based upon weighting. I plan to update the reward system so that they

The planned overhaul enhances this by making that one options. The initial other planned options to be created is to allow you to define explicitly what a user will receive, e.g. you could reward a specific command (or commands) to be given to a user when they subscribe.

You could also mix and match allowing a user to always receive a specific command and then have a random chance of one or more other commands.

Triggers

A new follow trigger type, which can queue commands when someone follows your channel.

Upcoming Release Version 3.3

Improved chat experience and emulation.

Published: 2021-01-13 by Omsad

The upcoming release of version 3.3 of InstructBot has a few improvements.

Console Improvements

The console has been updated so that Twitch emotes will be shown as images. If you've subscribed to BTTV and FrankerFaceZ these emotes will also be shown.

Example of emotes shown in console of InstructBot.

You can also turn off user name colouring so the text remain consistent with the reset of the console.

Emulator

The processing screen has also been updated to include a new emulator menu so that you can create triggers to test your commands.

Example showing the emulator in InstructBot.

Clicking on any of the buttons will open a windows allowing you to enter the required settings. For example the below is the settings you can enter to create a new cheer trigger.

Emulate cheer window showing example settings in InstructBot.

After pressing the okay button a new cheer trigger will be queued and processed in a similar fashion to as if it had come from Twitch. So if there was a command with a matching exactly cheer trigger of 100, it would be queued and you could see it within the processing screen.

Other

There have also been a number of other small improvements which include:

  • Allowing the volume of play sound commands to exceed 100%. The new limit is now 200% which can be done both in the options for a global effect or individually in the commands.

  • A new notification which informs the user that they have no uses of a given command when they try and execute it in the format of "@UserName You have no uses of the XXX command.", this can be customised in the options.

  • An update to the maximum / minimum values you can enter for the relative mouse move action from 1800 to 18000 (or -1800 to -18000), e.g. from 5 complete rotations to 50 in either direction.

Upcoming Release Version 3.2

Triggers and more.

Published: 2020-12-18 by Omsad

The upcoming release of version 3.2 of InstructBot comes with new features allowing you to trigger from more events, and allows finer control over whom can use certain triggers.

Permissions

There is new permissions on the majority of triggers which allow you to specify if viewers, VIP, moderators or a combination of the above can trigger a given command.

For example below shows an example of a moderator only free command in InstructBot.

Example of Moderator Only Text Command in InstructBot.

New Trigger Types

As well as being able to assign permissions there are a bunch of new triggers types which can be used to trigger commands.

Ban: Triggers when a viewer is banned.

Host: Triggers when you're hosted.

Raid: Triggers when you're raided.

Timed: Triggers at a set frequency.

Unban: Triggers when a viewer is unbanned.

Word: Triggers when a specified word is used in chat.

Enhanced Trigger Types

The bits and donation triggers types have also been enhanced so you can specify if you want to trigger at an exact amount, up to an amount, an amount and more, or within a specified range.

For example you could create an "Up to" bits trigger which will queue a command when anyone donations up to 100 bits.

Upcoming Release of Version 3.1

Better Integration with Twitch

Published: 2020-10-04 by Omsad

The upcoming release of version 3.1 of InstructBot come new features integrating it more tightly with Twitch.

Twitch Channel Points.

The biggest update to InstructBot is 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.

Published: 2020-10-02 by Omsad

With the release of version 3.0 of InstructBot and the migration of the landing page website to a content management system, Umbraco, I'm looking to migrate the portal website to the CMS, as well as make some enhancements.

One of the enhancements I would like is to store the images (and pages if possible) on my CDN. This would require automating the upload of everything there through their API, creating sized pictures etc... as required.

That would increase the load speed of the website by having the images closer to the users. For example I currently do this for the installer, you can see all the data centres it at for America and Europe and how busy they are below, darker is busier.

InstructBot blog post showing the location of all the data centres in use for the installer in Europe and America.

I also want to migrate the authentication part of the InstructBot API to the CMS so it can tie it all together nicely and I can build enhancement off that at a later date.

Currently however I have to weigh up my desire for these changes against implementing improvements for version 3.1 of InstructBot and updates to the bot are winning.

So if you are an Umbraco developer or know of one please, join the InstructBot discord and DM me or e-mail me at omsad@instructbot.co.uk.