Releases
8.0.0
NOTES
custom variables
Add response customization in registry for each variable
Fix numeric variables parsing in commands (like $_3 was ignored)
config.json
Added new attribute timezone
, to set your bot timezone
If timezone
is not specified or is set to system , bot is using system timezone
Removed configuration of systems (enable/disable), this was move into command (!enable system
, !disable system
) and UI
Added translation metrics to help find unused translations see docs
UI
Added system and games configuration pages
Note : Games are by default disabled
Updated UI for systems manage
Added full customization for commands of systems and games - settings->games/systems
games
Added wheel of fortune game
systems
docs
widgets
Removed joinpart
widget and added join
and part
widgets
others
Added !top followage
command
Added raid support for events and eventlist
Added community subgift support for events and eventlist
Updated dependencies
Slim production dependencies after npm install
, before ~300MB, currenlty ~100MB
COMMITS
[1459472 ] registry/customVariables : Fix not available text when current value is 0
[399c8e1 ] libs/customvariables : Fix error with checking custom variables
[2b6d032] lib/twitch : Fix setTitle error without params
[e2d8e60 ] lib/twitch : Fix setGame error without params
[4988072 ] lib/customvariables : Change variable value from widget when readonly
[522fd74 ] lib/logging : Add logging time based on locale or configured timezone
[3815abc ] lib/twitch : Show !time based on locale or configured timezone
[6f81965 ] game/heist : Fix payout of points from bet
[db928b1 ] chore : update PULL_REQUEST_TEMPLATE
[5ddb50d ] docs : Move from wiki to docs
[feeb90c ] chore : move from snekfetch to axios
[9d881d7 ] main : Add new_chatter ritual
[ab8fca7 ] main : Add raid support
[c8928fa ] game/wof : Add wheel of fortune game
[e79ae30 ] css : Add raid color for eventlist
[cf3e653 ] ui/games : Fix link to wheel of fortune
[dbfa394 ] game/wof : Add sender username to spin
[bc4991c ] overlay/alerts : Set iframe border to 0
[daf87f4 ] lib/panel : Add custom subfolder
[ec585af ] lib/api : Fix axios call for followers
[c2eec19 ] system/highlight : Use axios instead of tmi api call
[40bb12d ] overlay/credits : Fix typo in creditsRaidedBy
[d202182 ] lib/message : Stringify object if api is used with _response
[2266c75 ] lib/customvariable : Return full axios object on url()
[b0d07e6 ] ui/customVariables : Add proper null checks
[8a31d34 ] system/points : Force set points in setPoints
[f623d76 ] ui/stats : Add number shortening
[737eddc ] ui/stats : Add sticky toggle
[d717046 ] ui/stats : Fix number shortening typo
[424d914 ] ui/stats : Add avg diff toggle
[99491c9 ] package : dependencies update
[26a8383 ] overlay/alert : Add delay for html alert
[f17e162 ] docs : Update configuration section
[9529ee5 ] docs : Update links on readme
[5653214 ] lib/events : Reorder atrributes by length
[86f5855 ] chore : Remove pre-commit checks
[f4dec83 ] system/raffles : Remove correctly points from user in ticket raffle
[bcdb476 ] database/mongodb : Remove unique constraint for users.online
[01cec7e ] database/nedb : Remove unique constraint for users.online
[61f0a36 ] main : Remove tmi join/part events listeners
[d27cad6 ] lib/api : Force set offline ignored users
[2e26388 ] lib/api : Fix quiet setting on first run of latest followers
[9bca13a ] lib/api : Add oauth2 validation
[3e07d74 ] lib/cache, lib/panel : Access game titles cache directly
[f6c408d ] system/quotes : Init implementation of quotes system
[7c74a7b ] lib/configuration : Add !enable/!disable commands
[cb2d201 ] ui/popout : Remove unused console.log
[cb2d201 ] ui/popout : Remove unused console.log
[13d5db2 ] core : Add id for all commands
[dc5eb98 ] core : Add .apply() to parsers calls
[5c7cf6a ] lib/parser : Add .apply() to moderated parser
[c323d5b ] game/heist : Make heist command proper command
[5e3cb7e ] game/wof : Make wof command proper command
[000ec34 ] lib/api : Fix change title and game through cluster process
[6e686f5 ] lib/customvariable : Fix setTitleAndGame call
[45ed5a6 ] lib/events : Fix setTitleAndGame call
[4a46dcb ] lib/panel : Fix setTitleAndGame call
[c93b117 ] lib/parser : Remove deprecated command check
[f039226 ] lib/configuration : Add ids to commands
[6ec5894 ] lib/configuration : Change to class
[a12c596 ] lib/users : Add ids to commands
[74b80a7 ] lib/twitch : Add !top points id
[741c2b0 ] overlay/alert : Fix !alert command id
[6bba140 ] system/songs : Fix getCurrentSong undefined error
[70ffe8d ] integration/spotify : Add format settings
[9e1b17e ] lib/parser : Remove empty commands from commands list
[6ab478a ] lib/api : Send correct cli error if channel is not affiliate/partner
[ff22cfa ] lib/twitch : Fix showMe sender variable
[ce583f1 ] overlay/alert : Fix !alert command isWorker part of code
[4e47cd7 ] chore : Update dependencies
[8136e18 ] chore : Move twitch-emoticons dependency to server
[bcaf675 ] lib/message : Add escaping for currentSong
[48d736b ] lib/customvariables : Add global filters and custom variables to eval
[8d4cad4 ] lib/customvariables : Add missing null check
[f6340ac ] lib/api : Add retry for getChannelSubscribersOldAPI
[2496f9d ] lib/api : Add reset for retry getChannelSubscribersOldAPI
[22d269e ] tool/cleanup : Add missing global.log.error
[b527de4 ] lib/logging : Add stream start/stop logging
[66d18a1 ] lib/events : Fix atUsername ignore for usernames
[eab55e0 ] lib/api : Fix log.stop Promise error
[a698bb7 ] integration/donationalerts : Update socket address
[0d16666 ] cluster : Add insert/update based on user existing
[d0f544e ] lib/api : Catch will print stack for API calls
[9410bb4 ] game/heist : Fix empty command return
[f73e703 ] game/wof : Fix empty command return
[c083a24 ] system/interface : Add system interface to easy customizable system creation
[27080e7 ] system/alias : Add alias system customization
[dcb3bfa ] lib/panel : Deprecate registerSockets
[de02e1b ] lib/parser : Await for parsers functions
[09e2ae9 ] lib/expect : Fix behavior with single parameter number
[c1c86a0 ] game/wof : Remove console.log
[81f46f0 ] system/bets : Add bets system customization
[4e7878d ] system/commercial : Add system customization
[1cdeea1 ] system/cooldown : Add system customization
[b21457f ] system/quotes : Fix error when id is not a number
[ad23ce5 ] system/interface : Move commands() into interface
[a9e6e1a ] tools/migrate : Fix system -> systems in collection
[63d9327 ] system/customcommands : Add system customization
[90a875b ] lib/api : Add check for empty data from twitch
[4295870 ] js/components : Move vue components to own library
[44030c0 ] test/helpers : Fix db systems.* cleanup
[4f1a266 ] lib/message : Fix (list) filter response
[8af14df ] lib/configuration : Add game enable/disable
[fa459c1 ] game/seppuku : Move !seppuku from gambling system to games
[30be95c ] game/gamble : Move !gamble from gambling system to games
[9889c0b ] overlay/alert : Force iframe refresh
[fd8d42b ] game/roulette : Move !roulette from gambling system to games
[8bd8445 ] game/fightme : Move !fightme from gambling system to games
[37be78d ] game/duel : Move !duel from gambling system to games
[c244f0c ] tests : Add !fightme tests
[80b433e ] tests : Fix !duel tests after move to games
[13ec6bc ] system/highlights : Add system customization
[3178bf5 ] lib/commons : Send all /commands without /me
[00972cb ] system/interface : Add enviromnent variable DISABLE to force disabling
[964f7aa ] system/interface : Move parsers() into interface
[25998b9 ] system/interface : Add default settings and settings.update listeners
[23d049c ] system/interface : Add dynamic collection getter
[f157422 ] lib/parser : Fix debug information error
[bf62fda ] lib/parser : Reorder commands by length
[637afd8 ] system/interface : Add dependsOn option for parsers and commands
[bdee72d ] system/keyword : Add system customization
[8930f86 ] system/moderation : Add system customization
[23db979 ] lib/interface : Move interface to library
[d5868e6 ] various : Add settings UI and helpers for UI
[4a4b34c ] system/points : Add system customization
[ed8df6a ] lib/permissions : Fix permission settings through UI
[b3888e2 ] system/price : Add system customization
[9a066ea ] lib/message : Fix (price) and (list) filters
[45eb646 ] lib/configuration : Update !_debug for new system/game interface
[a2d992d ] system/queue : Add system customization
[13c9724 ] system/quotes : Add system customization
[0af2275 ] system/raffle : Add system customization
[e24a334 ] lib/interface : Add find, findOne, update, delete into interface socket
[6cb6e06 ] system/ranks : Add system customization
[e7d9801 ] system/customCommands : Remove redundant interface sockets
[b06b81c ] system/keywords : Remove redundant interface sockets
[e097eae ] system/price : Remove redundant interface sockets
[7a24f7f ] system/quotes : Remove redundant interface sockets
[c4ccb13 ] system/songs : Add system customization
[caa5d36 ] tools/migrate : Add unlinking of not used nedb files
[0167028 ] lib/interface : Add more options for FUD operations
[4d43c4f ] ui/widgets : Move widgets to Vue
[e4af95a ] system/gambling : Remove deprecated system
[124de2e ] lib/events : Fix fireCreateAClipAndPlayReplay error on clip play
[7b5aff6 ] lib/message : Decode html entities on message
[0ed9e57 ] panel/events : Fix incorrect toggles values
[47b6228 ] lib/interface : Remove settings data if value is default
[ff4ba8a ] tool/migrate : Fix path for constant if updated from 7.0.0
[a5fdab0 ] library/interface : Fix settings being rewrited if in same category
[f4dff40 ] test/moderation : Add var check for moderation tests
[fec23ca ] test/twitch : Add waitMs(100) to enhance robustness
[f38b598 ] overlay/bets : Align bet collection to new interface
[556712e ] database/nedb : Delete _id on insert to align with mongodb
[9154b3f ] system/timers : Add system customization
[ba8d108 ] panel/settings : Add games settings page
[b8b1d59 ] game/wof : Move wof to interface and update settings
[f8fc08c ] game/ *: Align games with new settings
[b00427e ] system/bets : Fix total points on bet close
[5ff5f66 ] games/interface : Set games opt-in instead opt-out
[b67d481 ] lib/twitch : Fix !me system status check
[5afe553 ] chore : remove systems from config
[820ebda ] game/heist : Update game to new interface and settings
[ae23e2a ] library/configuration : Add !set for interface values
[3f0477c ] docs : Update changelog version of a bot in quotes
[e062d7a ] docs : Update alias
[e880f88 ] docs : Update commercial
[938f957 ] ui/menu : Fix links in menu dropdown
[725c14f ] ui/systems : Add permission dropdown for commands
[973e14a ] src/api : Reorganize try/catch/finally code
[6efa13b ] docs : Add how to write own system
[2e0825b ] cluster : Fix corrupted user data onMessage
[887d2a3 ] src/users : Move watched to own collection
[d33132a ] chore : Bump version to 8.0.0-SNAPSHOT
[8c5a4df ] tools/migrate : Add settings migration
[38b949b ] system/raffles : Check raffle keyword case insensitive
[0bae67d ] src/twitch : Add tip amount to !me
[7cab823 ] src/api : Remove interval for getting channelID
[e08b3aa ] system/raffles : Add subscribers and followers luck
[3d1958c ] tool/migrate : Remove deleting of stats.db
[61e9a07 ] locales : Add ui settings locales for systems and games
[447b10f ] ui/settings : Make save button sticky on top
[2fb2bc0 ] chore : dependency update
[4ce3571 ] locale/cs : Fixed case in string
[91d9cb3 ] src/interface : Fixed get permission of simple commands
[205c661 ] ui/settings : Fixed styling of pending changes warning
[7e63768 ] js/component : Fixed sending undefined onUpdate
[081afca ] docs/howto : Updated missing exports in howto
[21b97d1 ] docs/howto : Add return statement to parser fnc
[2603aed ] src/interface : Fix propagating of command objects
[bf02d69 ] system/points : Fix get of interval settings
[1d439a7 ] src/interface : Remove redundant console.log
[2f65baa ] src/message : Fix undefined system pointer
[6320851 ] database/nedb : Add unique tag for cache collection
[14dfc5a ] database/mongodb : Add unique tag for cache collection
[d747d42 ] ui/customCommands : Fix incorrect data object
[0940e32 ] ui/keywords : Fix incorrect data object
[b29f0cd ] ui/price : Fix incorrect data object
[ddce023 ] ui/ranks : Fix incorrect data object
[4afed96 ] ui/various : Fix incorrect _id sent on delete
[58d4bfc ] ui/various : Alphabetically order lists
[04b5ca4 ] chore : update config example with oauth:format
[319790e ] docs : Update install and upgrade guide
[1c19da3 ] database/mongodb : Add useNewUrlParser option to connect
[f35d9b7 ] database/nedb : Create always indexes
[5f1eec1 ] database/mongodb : Create indexes on master only
[77431f4 ] game/fightme : Add rewards for user vs user
[77120c2 ] game/roulette : Add rewards for game
[9f986dd ] ui/various : Fix incorrect search critearia sent
[36aba8e ] src/interface : Add cleanup for undefined settings values
[c4f2034 ] js/components : Fix height is not properly applied to full block
[60e4a58 ] js/commons : Fix height issue with abbr
[ab30613 ] docs : Add bot account warning
[8e34cc5 ] src/logging : Add missing raid level
[1ea63a5 ] src/api : Fix getCurrentStreamData loop
[3cd81c6 ] src/commons : Fix undefined compact value if only one item exist
[ae18688 ] database/mongodb : Add sort, sum, total to find()
[eda9d3f ] database/nedb : Add sort, sum, total to find()
[a7cc630 ] database/interface : Update comment with _sum, _total, _sort
[85022f88] src/twitch : Simplify !top by narrowing db calls
[4058ed1 ] src/api : Remove bot from online users
[61fb34a ] docs : Add browser prerequisite
[677fbad ] chore : SIlent deprecation errors
[f8c5a2a ] tool/migrate : Properly cleanup settings when value is empty
[3747f3f ] js/component : Fix wof response heights
[0e4c34f ] widget/soundboard : Fix volume progress dragging
[69bb0b4 ] widget/queue : Fix missing popout prop
[2429c12 ] database/master : Add index function
[258afb8 ] src/interface : Add automatic indexing on settings collection
[82480f5 ] database/mongodb : Fix not indexing on bot start
[874a3f2 ] tool/migrate : Fix migration of settings
[653017b ] panel : Fix incorrect socket to highlights
[955b7e8 ] database : Fixes regarding of db speed
[d692e91 ] panel : Fix NaN in stats
[699c557 ] src/message : Fix missing param for custom variables
[e862ed5 ] locales : Add missing timer locale
[fec487f ] panel/playlist : Remove unused edit button
[2267d0f ] src/users : Update watch time interval updating
[917ba18 ] src/commons : Compact dbs only on offline stream
[eb1745f ] src/commons : Run compactDb only once when stream is offline
[c7c2589 ] ui/widgets : Add missing langs for raffles widget
[0e1008c ] chore : Move dev packages to devDependencies
[d324f0c ] docs : Update installation guide for production and dev
[98c41b4 ] npmrc : Add save and save-exact options
[ef58158 ] build : Straightforward build system
[75d11cd ] chore : Update travis install
[72ddcc0 ] makefile : Add zip packing
[25357bc ] system/moderation : Fix blacklist moderation loop
[b67b43c ] chore : Add debug option into package scripts
[610b158 ] database/mongodb : Create collections before create index
[4604de9 ] database/mongodb : Make reconnectTries infinite
[4edcf9c ] ui : Add missing locales
[ea6bb18 ] makefile : Pipe git log through cat
[d0ea816 ] chore : Update vue-plyr to 4.0.0
[54e3e9b ] chore : Update dependencies
[f1880f5 ] makefile : Add ENV to set production or development
[1b1a146 ] makefile : split clean to prepare and clean
[e698119 ] chore : Update to twitch-js 2.0.0-beta.9
[9fe5271 ] src/commons : Fix message sending and timeout
[8102547 ] ui/cooldown : Add missing type toggles
[62e03e7 ] src : Fix subscriber check
[98e181e ] src/twitch : Fix !top message undefined output
[7b9621d ] src/event : Fix commercial operation
[895f6cd ] travis : Add travis_wait to make
[6ea7a53 ] main : Check raw message for hosts
[e7c7831 ] ui/cooldown : Fix not saving of type
[e94def3 ] src/twitch : Fix !top points undefined values
[e40cadd ] chore : Update twitch-js 2.0.0-beta10
[48ca7bd ] src : Add sub community gift support
[fe79ef3 ] ui : Fix bot status update after restart or socket disconnect
[b7ad3f9 ] src : Add ignorelist to memory
[59fd048 ] system/moderation : Fix !songrequest and sr aliases whitelist
[47de2b6 ] src/commons : Remove redundant console.log
[6be6310 ] widget/chat : Remove ignored viewers
[ac424a1 ] src/commons : Fix events fireRunCommand with null sender
[8fb60b0 ] ui/songs : Add volume and trim change
[2c25a3e ] test : Add missing await
[30af387 ] src/events : Add reset each message toggle for keyword-send-x-times
[2aa4c82 ] chore : Update dependencies
[2d6a666 ] main : Change PRIVMSG to HOSTED event
[cf2aa62 ] panel/popout : Fix dropdown hide with data-allow-focus
[aeb0ca2 ] docs : Add bot_color settings
[b18f3fe ] game/duel : Add dynamic $command
[6cf8369 ] system/bets : Add dynamic $command
[7eca3ce ] game/fightme : Add dynamic $command
[31e87f2 ] system/points : Add points per message for offline
[16cc799 ] game/seppuku : Add reason for seppuku timeout
[21a2deb ] docs : Add tools documentation
[a533229 ] test : Remove redundant console.log* [c803ea1 ] docs : Add important links
[3806573 ] src/twitch : Add !top followage
[4f074dd ] system : Fix missing await for message prepare
[8340ce9 ] chore : Remove redundant devDependencies
[fbca88a ] system/moderation : Change default spam maxLength to 50
[977a456 ] src/events : Add undefined check
[0d17111 ] database/mongodb : Fix sorting
[03029b3 ] src/permissions : Fix misalignment between permissions
[6fec19b ] chore : Update twitch-js 2.0.0-beta14
[d740589 ] tool/migrate : Fix error on permission migration
[d31a163 ] overlay/emotes : Fix incorrect parsing of emotes
[c346e50 ] system/moderation : Fix emote count check
[9ca72ab ] chore : Add Flow checking
[19d97fb ] system/cooldown : Fix global cooldown
[5483bbf ] chore : Add flow building
[a24d3f4 ] src/panel : Fix path for public html
[7106739 ] src/panel : Fix dist path
[daf863d ] metrics/translations : Add translations metrics
[39db8a1 ] chore : Update linting
[acbf952 ] database/master : Update connection check
[d8eeb6a ] test : Disable translations metrics
[d43c7c2 ] system/moderation : Fix emote parsing on caps
[20a32d5 ] src/main : Add whisper support
[a9d2705 ] src/translate : Send metrics only if metrics are enabled
[e96405a ] src/main : Ignore subsequent sub gifts events after community gift event
[b32c75a ] package : Update dependencies
[77490f4 ] panel/twitch : Fix link for twitch player
[67edfe5 ] database/master : Add isConnected() check to worker
[f161c19 ] docs : Add clientId possible error with new apps
[a0ed1cf ] src/main : Add oauth checks
[d4d18c3 ] src/commons : Fix !ignore add process.send
[f83ea6d ] src/commons : Fix isIgnored if arg is string
[a3214fd ] tools/migrate : Fix caps and spam moderation migration
[caa3d47 ] database : Fix index creation
[ac6fc65 ] src/customvariables : Add response types for variable set
[5d726d9 ] src/customvariables : Add default responseType to new variables
[7d988bb ] docs : Fix custom variable filter format
[450d2bd ] src/main : Remove redundant console.log
[f7d425f ] src/translate : Send metrics only once on use
[e886ed5 ] src/translate : Fix if logic for metrics
[7061012 ] src/translate : Add check for ui/webpanel keys
[927f795 ] tools/migrate : Remove redundant console.log* [996a9a5 ] src/translate : Hide metrics errors
[fb3d4f0 ] make : Update files to zip
[10d1a70 ] chore : Add greenkeeper commit messages
[ef30d65 ] docs/readme : Add greenkeeper badge
[24fae9c ] chore : Update dependencies
[e118b9e ] eslint : Fix eslint issues
[c94286f ] chore : Update compare-versions to version 3.4.0
[42b77f1 ] src/users : Fix watched time set
[2925e25 ] chore : Update auto-load to version 3.0.1
[6824910 ] chore : Add prelaunch task for debugging
[c9e78de ] src/api : Update follow check
[9434422 ] ui : Show menu item only after being selected
[8437528 ] chore : Update flow-bin to version 0.80.0
You can’t perform that action at this time.