Skip to content

SOGEBOT 8.0.0

Compare
Choose a tag to compare
@sogehige sogehige released this 02 Sep 23:10
· 4449 commits to master since this release
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
    • Added quote system
  • 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
  • [85022f8] 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