Bug Fixes
Features
- api - show affiliate/sub error only once (#2331) (a375a816)
- commandcount - change calendar behavior to two inputs (#2351) (45a20984)
- cvars - force sender to be object (#2340) (709b2018)
- hltb - do not search for game if twitch category is empty (#2339) (368a219c)
- parser - unset opts if its permission error (#2350) (8e733fe2)
- ui - YT player play next song on end (#2348) (647a2967)
- ui - YT player should not be muted on some occasions (#2349) (d95bf4e0)
- ui - revert changes done by vue-bootstrap (#2347) (52e0700f)
- ui - search for price commands should return correct items (#2338) (16a551ed)
Bug Fixes
Features
- alerts - set correct command (a69aacd0)
- alias - count alias commands to stats (#2305) (2d2339ac)
- alias - save correct alias command to stats (#2312) (cf9675c7)
- alias - show correct permissions dropdown in list view (#2295) (af2b3570)
- api - send no affiliate/partner warning when broadcasterType is set (33f2b5e1)
- api - use correct stats file for save (#2309) (e558fe5b)
- api - use isIgnored on join/part events (#2245) (e34139cf)
- commands - $count will return correct usage count (c3a0c526)
- commands - properly save new responses (#2275) (fda228b5)
- commands - properly stopIfExecuted (6aca6877)
- commands - return proper $count of command (4c412844)
- commands - set lowest permission on response creation (#2258) (fec91a1a)
- commons - set full sender object to attr (#2320) (9549f755)
- currency - join keys correctly (#2243) (6c67c95e)
- currency - shared rates to be able to exchange on workers (#2268) (43f4a2b8)
- customvariables - properly select initial value on eval select (#2274) (c8112412)
- customvariables - return proper is.online on user() (#2273) (97cf503f)
- cvars - load user object if sender is string (5a7a95ac)
- cvars - set correct username in history (b43471b6)* cvars - use custom variables as variables (9c57f891)
- decorators - set variable value correctly if false (#2285) (33e77c08)
- decorators - uuid can be null - disabled (bfac799a)
- emotes - remove hardcoded channel (754d2eb6)
- emotes - use v4 twitchemotes api (a333e1f7)
- expects - username be always lower case (#2253) (f35ef94e)
- integrations - start properly integrations on startup (#2272) (5adb56f9)
- interface - emit should work correctly on worker (#2276) (61c1a603)
- interface - expose retroactive stacktrace (#2247) (12fadae1)
- interface - load proper commands customization when decorators are used (a6c713c6)
- interface - properly save enable state (#2286) (2ccc2b8e)
- interface - respect command null permission (cb21fae2)
- interface - send command change when set as default value (#2307) (7b4ba6a2)
- interface - settings with category should be properly updated (#2262) (07c9f9e5)
- interface - share command changes main<->workers (#2289) (8ed84a28)
- keywords - $sender should have correct name (#2318) (0b684602)
- locale - add proper en locale for commandcount (#2323) (dc52b9e8)
- migrate - add missing migrations (#2304) (555a3b1f)
- oauth - channelId loop should work correctly (#2282) (f6238db3)
- oauth - set broadcasterType as null (#2266) (c18fe485)
- oauth - set initial broadcasterType to null (410eec96)
- phillipsHue - remove not intended !disable command (0390948b)
- points - add getIdByName when call from event (0012adbd)
- points - use expects for get() (#2254) (2eb135d0)
- polls - set correct moment locale (#2261) (d89911f6)
- quotes - public list should be correctly populated (#2252) (0240d52b)
- quotes - public page should correctly be translated and metrics socket ignored (#2248) (390af7c3)
- release - remove redundant getReleaseVersion call (a9762290)
- tmi - message should properly delete on timeout (d4f8e2e1)
- tmi - remove all cheermotes from message (5dba8bd8)
- tmi - show proper error messages if tmi is not connected (1f194f62)
- top - top tips should return correct values (#2281) (80d93ea5)
- twitch - missed default permissions for commands (576308e3)
- ui - import bootstrap components (4421675e)
- ui - remove http only uuid cdn (07438544)
- ui - remove incorrect italic (e515a84b)
- ui - search in custom commands should sarch through responses correctly (#2324) (af4e3f97)
- ui - set correct z-index for settings menu (0a166f0c)
- ui - set default values if variable is not eval (17d181f8)
- ui - sort menu alphabetically (e0ccdd52)
- ui - typo in locale aggregate => aggregated (47b7ad96)
- ui - update format of commit link (079cb01f)
- ui - use solid faComments icon (33c9cfcd)
- ui - youtube widget should correctly play videos (#2325) (b9d657ac)
- userinfo - correctly fetch data from api on !followage (#2267) (796af5a4)
- userinfo - me should return correct tip values (#2280) (a54fc36e)
- users - correctly save new tips and bits (#2291) (6a14e703)
- users - properly delete tips and bits from ui (#2256) (3f561591)
- viewers - properly show and sort messages count (#2311) (45b0b9ca)
- viewers - show correct locale (#2303) (c889c740)
- widgets - align widgets with new settings (#2264) (75af1c6e)
- workers - add retry for workers emit (#2284) (bbae8ab9)
- command - $count can return count of different command (51e43246)
- commands - add custom variables to filters (39b6983e)
- cooldown - add notify in chat cooldown information (5ae4e1d4)
- cooldown - add quiet toggler for UI list (354796a7)
- cvars - extend url function (2c0efe3b)
- cvars - more detailed intervals to run eval (83f39f78)
- emotes - add warning if affiliate/partner is not on twitchemotes (3b6fe5db)
- emotes - save emotes to cache on usage (b8b8a751)
- events - add bot amount and currency into tip event (d3791260)
- events - add custom variables to filters (c35e5e34)
- filters - add $!!_# filter for silent get/set (fb16eead)
- gallery - show proper filenames in ui (be0f745e)
- message - use sender attribute lossless (#2297) (f4547b24)
- oauth - log error if bot and broadcaster is same (7cc3fdab)
- rollback - add rollback for alias, commands and permissions (d85fce5f)
- rollback - add rollback for parsers (b30a1108)
- songs - add toggle for dynamic volume (#2265) (d6f71d4b)
- spotify - add skip for spotify (872fb54a)
- startup - add check for node version (f33ed853)
- stats - add command count (#2298) (20df9f77)
- stats - add date interval selection (#2313) (96a2fb35)
- top - add submonths command (b5992ce8)
Bug Fixes
- commands: $count will return correct usage count (c3a0c52), closes #2168
- tmi: message should properly delete on timeout (d4f8e2e)
- tmi: show proper error messages if tmi is not connected (1f194f6), closes #2167
- ui: remove incorrect italic (e515a84)
- ui: typo in locale aggregate => aggregated (47b7ad9), closes #2174
- ui: update format of commit link (079cb0)
IMPORTANT
New updated dynamic permission system was added to a bot. If you changed any permissions (either alias, custom commands, custom variables or commands) you need to re-do your permissions manually.
Bug Fixes
Features
- api: add checks for id in users collection (2409f23)
- api: add null check on getIdFromTwitch (a754fc1), closes #1995
- api: isFollowerUpdate should handle sender object (ca066f6)
- api: remove retries and don't disable subscribers api (8eb69d9)
- api: set correct variable path (7a8bca6)
- api: update opts on failed state (5d62341)
- commands: add missing touser filter parameter (61f8d63), closes #2122
- commons: import isBot after rework of commons (004b09b), closes #2063
- commons: initialize default class on autoload (c5f65a5)
- commons: sort attributes by length desc (bd9187d), closes #2100
- commons: update unflatten behavior on arrays (f29c61e), closes #2043
- cvars: use timestamp instead of Date object (afd4d06), closes #2085
- db: revert master connect() (3ca7cb3)
- db: update index() for array use (cdb0ba6)
- emotes: fix emmote typo (dfbf9cb), closes #2001
- emotes: properly parse other partner emotes (d28ff26)
- events: remove redundant log (ac8486c)
- events: use timestamp for everyXMinutesOfStream (6fbd9d6), closes #2124
- followage: load data from api each call (74904bf)
- general: fix incorrect lang pointer (897ca7b)
- general: move setValue directly to general library (1e66a67)
- interface: add better message if system doesn't start (5fcb65e)
- interface: move legacy commands and settings to interface (92dcdef)
- interface: trigger change on correct class independent on filename (233771a)
- locales: add missing events locale (efb7ae5), closes #2127
- migrate: add permissions collection removal (8c8d0cb)
- mongodb: index wait for connection lose arguments (38dd0de), closes #2070
- overlays: eventlist should have correct classes (e70bbd0)
- overlays: force play video even if not properly loaded (1387683)
- parser: add missing import (7950331), closes #2091
- parser: add missing library from populateList (8dd0e59)
- parser: add missing tmi library to populateList (11cd9d1), closes #2112
- parser: load custom permissions from new collection (950655b), closes #2016
- parser: properly check for disabled command (fba7428)
- permissions: properly skip disabled command (cf3de0f), closes #2024
- raffles: use lastAnnounce time from cache only (92637ef)
- release: split release tool to docs and build (6f921cf), closes #1987
- spotify: remove incorrect await (3c2b1da)* spotify: update disabled command (c9b7e2e)
- tmi: change to commons.getLocalizedName (aa8117a), closes #2086
- tmi: remove subsStreak guessing (de53461), closes #2032
- tools: reinstall husky hook (0a9f87a)
- top: remove isIgnored await (70d032b)
- ui: cvar options are correctly selectable (d7163a3), closes #2012
- ui: fix import of incorrect icon (1294104)
- ui: move all font-awesome imports to index.ts (bd798f6)
- ui: order permissions by its weight (6b9cdd2), closes #2018
- ui: properly order custom variable history (5daa258), closes #2013
- ui: remove second button from panel (3e4c4ec)
- ui: set -moz-fit-content for textAreaWithTags (c06f82b), closes #2075
- ui: set correct position for menu if top is sticky (a1a0557), closes #2137
- users: add missing commons import (6241ca4)
- users: update username instead of id (1691def), closes #2025
- workers: better error message on interface (38beabd)
- workers: remove widgets from workers interface update (6950b02), closes #2136
- better check on isModerator (55e8804)
- enable esModuleInterop for js modules (a8ba921), closes #2072
- workers: remove legacy cluster code (ee88871), closes #2035
- workers: update workers to typescript (fe1e1eb)
- remove await from settings getters (7c54158)
- api: add check if bot is a mod (ef41493), closes #2065
- cvars: add async user() to get simplified user object (c856dab)
- cvars: add stream variable with current stream values (3cb1b9f)
- debug: add proper debug function (8cfa227), closes #1966
- events: add vuelidate to check form (4473298)
- filter: add $touser filter (a9d16de)
- general: load locales list dynamically (9438607)
- highlights: add link to create clips and highlight (896705e)
- message: add (list.price) filter (9ff7696)
- message: add $toptip variables (b2b5234)
- permissions: refactor permissions to be dynamic (8c84d92)
- scrim: add cooldown only scrim (450e3b9)
- spotify: add cleanup button for song requests (8f773c8)
- subage: add cumulative months to command response (8231820)
- tmi: parse cumulative months from badgeInfo (2e819e4), closes #2115
- ui: show subscribers/bit error if not affiliate or partner (12d7761), closes #2142
- users: change regular for vip (2d9f881),
closes #2033
NOTABLE CHANGES
- Added possibility to parse variables as commands in aliases, e.g. $_yourVariable = '!me' will trigger !me command
- Added spotify widget
- Added scrim system
- Moved from cluster to worker_threads
- Added toggle to run goals endlessly
NOTABLE FIXES
COMMITS
- Fix removing all users on remove specific user on UI
- [2182076] fix(users): set correct id on remove id to delete correct user
NOTABLE FIXES
COMMITS
- Fix months subgift error
- [6b0b55c] fix: use correct subCumulativeMonths variable for subgift
NOTABLE FIXES
COMMITS
- Fix error on saving some games through UI
- [8ae9d9e] interface: skip saving of undefined keys