CHANGES
Change sogehige.tv to sogebot.xyz across a bot and metrics
COMMITS
- [3696ab1b] chore: Replace sogehige.tv with sogebot.xyz
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
- Docs moved to http://sogehige.github.io/sogeBot/
- 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
NOTABLE CHANGES
CUSTOM VARIABLES
RESPONSE FILTERS
- Added custom variables registry and updated custom variable widget
- Note: you need to recreate your variables
OVERLAYS
- Added $!_customvar filter with forcefully silenced set message
- $_customvar and $!_customvar now accept + and - as params to increment and decrement by one
ALERTS
- Overhaul of image carousel overlay, more settings for each image
- Note: you will need to reupload your images to image carousel as they will not be stored as files but in db
EVENTS
- Added type clip to be able to play in alerts
COMMITS
- Clip creation and play through overlay/alerts
- Note: if you want to use clip creation, re-do your oauth (need clips:edit permission)
- Trigger events by keywords
- [b30b1ee] lib/commons: Remove reduntant toLowerCase()
- [5fe09dd] system/moderation: Add .me as domain suffix
- [57049be] lib/users: Fix UI filtering of active users
- [c6010bc] tools/migrate: Remove not used is.online from user collection
- [10facab] system/points: Save points time as date
- [28cbfa6] ui: Fix NaN when viewers value is hidden
- [d2ea7dd] widget/twitch: Set protocol http/https as appropriate
- [15d461b] libs/users: Fix ui active filtering
- [0add586] overlay/alert: Add clip type support
- [9fe49cb] lib/panel: Fix set of domain access if contains whitespaces
- [11f55be] system/bet: Add more accurate error message
- [e77dbd9] lib/cache: Use cache.titles collection instead of cache
- [b7e7246] cluster: Fix incorrect set of online user on message
- [4b99edb] lib/api: Trigger only reset events on stream start
- [c156af7] lib/events: Fix placebo event reset
- [9380066] lib/message: Fix custom variable in eval
- [0fb9038] various: Fix propagation of quiet
- [b7f2737] lib/message: Add $!_cvar and + and **params support
- [88fe282] chore: Create PULL_REQUEST_TEMPLATE.md
- [222ecee] lib/panel: Use bot username as bot name in panel
- [cf03447] lib/message: Fix inc/dec when variable is saved as string
- [3259bfa] **Update PULL_REQUEST_TEMPLATE.md
- [2e5bf7a] widget/customvariables: Fix error onSave
- [5d1d31e] overlay/imageCarousel: Extend configurability
- [767d14d] widget/custom_variables: Fix variable save if name contains only numbers
- [6b574e5] system/bets: Fix index and options list
- [936800f] lib/users: Fix updating user message count
- [bfda15a] lib/message: Fix variable set if url() return string
- [ef31333] ui: Fix translation for 'create and use a new game' input
- [0e8f166] chore: Update CONTRIBUTING.md
- [f9d5838] chore: Update dependencies
- [26679e5] overlay/alerts: Fix regexp cutting part of url if contain =
- [ed77eee] lib/events: Add keyword-send-x-times event
- [ad53271] lib/events: Add create-a-clip and create-a-clip-and-play-replay events
- [9f1e860] overlay/alerts: Fix data extract when using another =
- [e5a25e3] chore: revert snekfetch version to 3.6.4
- [ed9f1b4] lib/message: Force return empty qs if param is null
- [42ab4c9] main: 1 cpu by default if not specified in config
- [af94090] locale/cs: Fix $winner for fightme
- [eed5911] lib/customvariables: Add custom variables library
- [4b5fec1] chore: Update AUTHORS
NOTABLE CHANGES
Contains only hotfix for processing messages affecting mainly mongodb
COMMITS
- [96d09ee] main: Fix incorrect call to resend message to worker
NOTABLE CHANGES
eval filter
COMMITS
- Added url() function, see eval documentation about usage
- [6063582] system/keywords: Fix sender variable as string and not object
- [c4d8248] lib/message: Add url() function to eval
- [af51da1] lib/logs: Update datetime format to use local time
- [ce3bec4] main: Fix incorrect checking user on join/part
- [c80285c] lib/api: Add clearTimeout for better garbage collection
- [294099b] database/master: Add clearTimeout too free gc
- [909b06f] lib/currency: Add clearTimeout to free gc
- [ef49807] lib/event: Add clearTimeout to free gc
- [8fcd58e] games/heist: Add clearTimeout to free gc
- [819071f] system/bets: Add clearTimeout to free gc
- [e679e80] main: Add clearTimeout to free gc
- [95d958b] lib/users: Add clearTimeout to free gc
- [46d585f] lib/webhooks: Add clearTimeout to free gc
- [2516700] integration/spotify: Add clearTimeout to free gc
- [e087f0e] system/gambling: Add clearTimeout to free gc
- [b061cb8] system/points: Add clearTimeout to free gc
- [5881374] system/raffles: Add clearTimeout to free gc
- [0656ee0] system/timers: Add clearTimeout to free gc
- [04dcfb8] perf/sockets: Remove this.io from several calls
- [1e33902] cluster: Initialize debug functions only once
- [e966f63] lib/api: Initialize debug functions only once
- [bd54c4f] database/master: Initialize debug functions only once
- [dcb3046] main: Initialize debug functions only once
- [7696341] lib/configuration: Initialize debug functions only once
- [1c18cc8] lib/parser: Initialize debug functions only once
- [d5f9c2f] system/bets: Initialize debug functions only once
- [5dd21e5] system/moderation: Initialize debug functions only once
- [9185f7f] lib/timeout: Add recursive() to use for recursive functions with wait
- [07a9810] various: Change recursive interval calls with timeout.recursive()
- [92d17ae] lib/timeout: Properly cleanup timeout after clear
- [e87b7d0] package: 7.4.2
NOTABLE CHANGES
COMMITS
- overlays
- Added facebook-like animation for emotes fade out
- ui
- Toggle to hide or show New chatters, Max viewers and Current viewers
- performance
- Fixed potential database memory leak
- response filters
- Added new global filters - see https://github.com/sogehige/sogeBot/wiki/Response-filters
- [5155a43] system/gambling: Change $sender to $winner for noContestant
- [3da2d94] ui/highlights: Remove 'v' from beginning of video id
- [cebe083] overlay/emotes: Add facebook-like animation
- [b67986d] tool/migrate: Set version to 999.9.9-SNAPSHOT if called directly
- [a212583] database/mongodb: Remove dropDups as it is not supported anymore
- [efb2fbb] database/mongodb: Create indexes only on cluster
- [7541346] tools/cleanup: Revert duplicate user clean
- [6a7848d] lib/users: Move messages stats to own collection
- [c87ceea] widget/chat: Remove viewer count from tab
- [68fd049] ui/dashboard: Toggle hide/show viewers in quick stats
- [97661b6] Update issue template with links to fider
- [e4ed33c] lib/users, ui/viewers: Change sorting to be server side
- [a752f87] database/master: Change setTimeout for returnData
- [0d40f7e] system/highlight: Fix incorrect api.stats call and api type
- [4cd5133] lib/api: Move loop timeout call after everything is done
- [27fd102] lib/api: Wait until all events are done before interval call
- [5230fe6] main: Send message to another worker then last one
- [32ce34b] database/master: Fix potential memory leak
- [fc54bad] lib/api: Add timeout refresh to catch
- [ddfe91b] lib/api: Revert wait for join/part event
- [b748f57] tool/commit: Update commit changelog style
- [b65c790] system/bets: Fix incorrect message on bet close
- [c4ccd09] system/bet: Fix error when parsing without options
- [10e378d] widget/bets: Fix updates of widget data
- [5248fba] travis: Update NodeJS version to 10.x
- [0ffe603] database: Use master controller only on single instanced dbs
- [d306f43] database/master: Fine tune timeouts for sendRequest and returnData
- [90e1b46] system/bets: Refactor of bet system
- [125348a] lib/permissions: Fix slow UI response on permission change
- [44a9142] widget/cmdboard: Fix widget behaviour
- [fbd8b51] widgets:: Drag widgets only by header
- [f57cc0c] lib/api: Move join/part event handlers at the end
- [ebb359c] database/master: Remove retry and cleanup
- [c0dd149] lib/parser: Populate list only at parser init
- [94d5317] main: Add warning if message parse took more than 1000ms
- [e0040b3] widgets/bets: Update chart only if dataset changed
- [b1ae26e] widget/cmdboard: Fix displayAs on refresh
- [1017fa9] lib/api: Update follower update interval to use timeout
- [ff63e84] widget/bets: Fix refund when using non english lang
- [c609a4c] system/moderation: Fix return of empty blacklist/whitelist
- [6d717d8] database/nedb: Fix creation of indexes
- [5ba74be] lib/commons: Fix send message if client is not properly connected
- [64bb27e] lib/commons: Simplify code for workers
- [80c2ffc] lib/commons: Retry only once for message send
- [1f33a20] libs: Fix several incorrect log error calls
- [4e415c5] lib/twitch: Fix !game and !title commands without arguments
- [e47016a] lib/parser: Add debug message after parsers are done
- [aa7cd30] system/alias: Fix running alias if it point to same alias !me -> !me
- [30f0bcc] widgetr/raffles: Move pick a winner after input
- [37e716d] widget/raffles: Add popout
- [de02984] system/raffles: Announce only if stream is online
- [9929254] widget/bets: Reset dataset when bet is closed
- [a071e12] various: Remove not intended console.log
- [21b75ed] overlay/bets: Add bet index to overlay
- [2b0b49c] lib/api: Set values on stream offline instead of online
- [7209265] lib/commons: Fix sending message when debug is set to console
- [0c95b50] lib/message: Fix if filter used with other params like random
- [90c91c3] system/highlight: Fix !highlight not working on worker
- [63c0061] lib/message: Add new global event filters
- [5a41614] system/bets: Fix incorrect user amount when closing bet
- [96c0456] locale/cs: Change points to body
- [4ffe2fe] system/moderation: Fix cleanup of warnings and warning count
- [2a123e7] lib/message: Improve eval performance
- [dcc6ef6] lib/api: Add more data to stats
- [97efc8d] lib/webhooks: Add check for channelId to stream event
- [29755f3] lib/message: Exclude Math.random, _.random from random check
- [f9969b0] integration/donationalerts: Fix amount to have fixed float number
- [8569b44] integration/streamlabs: Fix amount to have fixed float number
NOTES
If you have issues with bot startup due duplication keys issues, please run through cleanup, node tools/cleanup.js
Example of error
(node:14592) UnhandledPromiseRejectionWarning: MongoError: E11000 duplicate key error collection: icebot_db.users index: username_1 dup key: { : "boonee007" }
at /home/bots/icebot/node_modules/mongodb-core/lib/connection/pool.js:598:61
at authenticateStragglers (/home/bots/icebot/node_modules/mongodb-core/lib/c onnection/pool.js:516:16)
at Connection.messageHandler (/home/bots/icebot/node_modules/mongodb-core/li b/connection/pool.js:552:5)
at emitMessageHandler (/home/bots/icebot/node_modules/mongodb-core/lib/conne ction/connection.js:309:10)
at Socket. (/home/bots/icebot/node_modules/mongodb-core/lib/conne ction/connection.js:452:17)
at Socket.emit (events.js:180:13)
at addChunk (_stream_readable.js:269:12)
at readableAddChunk (_stream_readable.js:256:11)
at Socket.Readable.push (_stream_readable.js:213:10)
at TCP.onread (net.js:578:20)
(node:14592) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejectio n id: 1)
(node:14592) [DEP0018] DeprecationWarning: Unhandled promise rejections are depr ecated. In the future, promise rejections that are not handled will terminate th e Node.js process with a non-zero exit code.
COMMITS