Releases: BOLL7708/desbot
Instructions
Instructions
Events are tricky to set up, so I've added instructions to the editor. These are longer pieces of text that are always visible, but they can be turned off in the editor config. Default is on. These are still just draft instructions, multi-tier is missing entirely, this as I want to add even more functionality to this system before it is done.
Incrementing events
They will now increment not only based on reward presets, but also on action sets, and will continue for as many entries exists of either. There is also a new hard limit to set if you want to artificially reduce how far the value can increase.
Accumulating events
It is now possible to set a custom amount it will increase for non-reward triggers.
Fixes
Fixed arrays of Option-values, they were not updating the value in the editor, and as such were not populating or saving correctly.
Fix OpenVR2WS Async
Fix
Forgot to remove some .then()
calls, thanks @c0ldvengeance for pointing that out.
Match Event
Match Event
This was requested with good reason, and it will enable a lot of things. It is now possible in the System
action to define a list of key words that will trigger other events. This will enable rewards that can trigger a plethora of things, or sub-commands that do the same. This opens up a lot of possibilities for a really flexible system.
Fixes
- Version in the editor will now hopefully say
N/A
when Git is not installed or available on thePATH
. - OpenVR2WS should be lower latency as the password is now pre-hashed once instead of hashed for each request.
Delete Imports & Version
Delete Imports
There are now new red buttons in the Defaults section which provides the capability to delete all Default Imports and Bonus Imports at will.
This was added because all of them have now been renamed due to the new emoji classification for event triggers and actions. And as I'm too lazy to rename all my own events manually, and I failed to create a migration for it, I added these buttons for people who have not edited their defaults at all so they can simply click a button to delete them and then reimport.
The deletion & import are two separate steps in case someone wants to only delete and not reimport.
Version
The version is read from the Git repo, this means only cloned installations with the .git
folder will get the version number, the rest... will get an error message probably, I haven't tested that. In the future this value should also be in a file so then this requirement will be lifted.
Fixes
- Fixed the order of the event emojis, they were auto-sorted, fixed so they are now representing the order of things inside the events.
- Fixed the option dropdowns, the previous fix to also match numbers did not consider null values, now that is also handled.
v7.9.0 Emojis for Events
Emojis for Events
In the editor side menu when browsing Events there will now be emojis that represents which triggers and actions are registered on each event. This was added to remove the need to describe what the event contains in the name of it.
The plan is to rename the default imports to reflect this in a future release, this means that updating defaults will then not match the old names and would need manual updating if you want to keep the same references. I'll describe this further when that happens.
Reward Toggles
Now has a no change
option, which is also the new default. Before it needed to be either on/off for the different modes.
Pipe Entries
The image entries now support using folders and asterisks in file selection to select a group of files.
Fixes
Fixed option/enum dropdowns not selecting the stored value in the editor.
v7.8.1 Tokens & Advanced Rewards
Tokens
Twitch tokens are now automatically refreshed every 45 minutes just to avoid the access token from expiring mid-stream. I believe this is what made raiding not work after a long stream, which is bad, of course.
Advanced Rewards
If you had any events with incrementing, accumulating or multi-tier behavior, you need to redo the behavior settings, this as the event config has been reshuffled to support new GUI features that will come soon. Sorry about this.
Defaults Update Safety
It is now safe to use the update buttons in the Defaults section, this as already existing items will be used and only data that exists in the import will be overwritten, retaining values that a user has inserted after the fact. This was a mistake on my part, and I nuked a lot of my own settings this way, luckily I had time to warn other users and I also had a backup of my database so no real damage done.
Label Action
Clarified where the resulting file is saved in the description.
v7.8.0 Defaults Updating
Defaults Updating
In the defaults section there are now new buttons to update the defaults already imported. This means they will be overwritten with the existing defaults again, resetting anything you changed in them, but also providing the last and possibly updated defaults.
I added this mostly as things are getting fixed and shuffled around a bit during alpha, so this saves a lot of manual updating when something changes in the default data. Also helps reducing the amount of text in these release notes.
With this, I also did some changes to the defaults, fixed the order of permissions which changes the names of them, and some botched help text.
Camel Case
I redid the regular expression that splits class names into sentences from the ground it, it was simplified and specialized to what we have in this project. You'll notice that some things that looked odd before should look better now, like "VI Ps" should now be "VIPs".
v7.7.0 Import All Reward
Import Rewards
Added the ability to import rewards from Twitch that the bot has not created, this to still get all the presets and settings necessary. But, to get rewards that the bot can update, you have to delete those rewards on the site, and let the bot recreate them using the button on the trigger page in the editor.
Fixes
- Fix
_assets
missing for first time users, will now automatically be created. - Fix twitch user tool message, it was always reporting that a user already existed as it was added in the called function before it was checked.
v7.6.0 Custom Event Categories
Custom Event Categories
It is now possible to set a custom category on any event, and those will be filtered from the drop down menu. This does mean that the old type is invalid and if you're not re-importing the defaults you will have to set it manually yourself. There are new preset imports you can run at least, to get the Default Imports
and Bonus Imports
categories premade.
License
Added the AGPLv3 open source license to the project.
Task Button
Previously I added Tool button support, buttons that will affect data properties in the editor, I also added support for Task buttons that will perform things using the data, but not update the data itself. Nothing is currently using this but the support is there.
TTS
Added the new type "Polyglot" to the allowed voices for Google TTS.
Fixes
- Fixed screenshots config being faulty, mixing up documentation and types
- Fixed import of JSON from the OpenVROverlalPipe, due to a new data format in the bot it became incompatible, now both are supported.
- Fixed default imports for Get Voice Command, TTS Dictionary Set & Clear Word.
v7.5.0 Tool Buttons & Chat Skipping
Tool Buttons
The editor now has the capability to add buttons to classes. Right now there is only one, the ability to create a reward on Twitch when editing a TriggerReward object. This will create the reward on Twitch, save it in a SettingTwitchReward in the database, and finally fill in the resulting ID in the associated editor property.
TTS
New categories of voices supported from Google: news, studio
DB
Quintupled the amount of retries the DB-script performs before throwing an error. This to prevent it from missing an insert when a different script is accessing the database while the project is still using PHP for DB transactions.
Chat Action
Now supports skipping sending message to chat if the previous message was identical to the one to be posted, or the previous user was the bot itself. These are available as a means to avoid the bot posting a lot of messages on its own with a timer trigger.