Before running this version of bot backup your sogeBot.db and run
Code:npm run cleanup
Changelog
- changed: id is stored from messages and API is not used anymore 3c1ed27
- changed: fire follower event only for users followed in latest hour 7852f3f
- added: systems/songs - songs can be searched with string #230
- added: widgets/chat - add chat input to write as a bot #225
- added: panel/viewers - subscriber, follower and regular can be toggled now by clicking #224
- fixed: widgets/ytplayer: quality and volume was not properly set 3729a3d
- fixed: libs/twitch - fix non translated message in !me 7a11b04
- fixed: libs/parser - commands should be parsed more accurately #254
- fixed: main - command messages will not be counted in user stats #249
- added: libs/users - add !merge command when user renamed itself #256
- added: libs/events - added every-x-seconds event #253
- added: overlays/alerts - add !alert overlay for images/sound #229
- fixed: libs/configuration - fix setting default value d1c7172
- fixed: systems/raffles - fix invalid (winner) message 392e6a2
- added: systems/raffles - automatically add raffle info into title #252
- fixed: widgets,systems/raffles - will check if command is already in use #255
- fixed: libs/logging - using moment.js to determite correct time #261
- fixed: libs/parser - (list.#) should not return disabled commands/aliases #260
- changed: libs/parser - removed (command.#) and replaced with (!#) #268
- fixed: libs/parser - (!#) should run aliases as well #267
- added: libs/commons - toggable @ for username #270
- changed: - libs/configuration - change settings notification to whisper all owners #264
- added: systems/cooldown - added quiet option #266
- changed: libs/parser - (var.#) set will return new value in chat #269
- added: systems/songs - requested by user or playlist info added for !currentsong #271
- fixed: systems/customCommands - check if command keyword is free #246
- fixed: systems/alias - check if command keyword is free #247
Changelog
- added: main - exit bot with error message when channel doesn't exist c2c78c2
- added: libs/panel - show full uri for dashboard #234
- added: libs/twitch - save cached latest followers and subscribers #236
- added: systems/raffles - add (product) to win message #237
- added _systems/raffles - add subscribers only raffles #238
- fixed: response/filters - fix (list.!alias) throw exception #228
- fixed: libs/users - fix crash when user change username and doesn't have all relevant data 5c6a010e919889 2b05b18
- fixed: widgets/ytplayer - fix unresponsive ytplayer api #231
- fixed: systems/ranks - fix empty rank list #232
- fixed: libs/users - add db compacting after users save a43b97b
- fixed: libs/parser - add queues for messages to free up resources for dashboard, etc. 1b9f0aa
- fixed: libs/events - fix crash undefined attr 00af0a6
- fixed: overlays/stats - fix empty uptime 54f5910
- fixed: libs/events - fix stream-is-running-x-minutes not firing cbe1178
- fixed: libs/events - fix number-of-viewers-is-at-least-x not firing 7111968
- fixed: libs/events - system events is showing as empty operation in panel #240
- fixed: widgets/raffles - fix missed translations #239
- fixed: systems/moderation - mods and owner will not be checked for blacklisted words #242
- fixed: main/events - fix month translation for subs widget #244
- fixed: panel/events - form should correctly reset after creation #235
- fixed: systems/events - fix incorrect event showing in webpanel #245
Changelog
- changed: response/filters - if (command.#) will be used alone -> print command response to chat #209
- changed: response/filters - (list.alias) and (list.command) will not have '!' before commands #214
- changed: widgets/raffles - remove button for clearing participants #213
- added: response/filters - add (list.!#) to have output with '!' #214
- added: response/filters - add (uptime) filter #208
- added: systems/notice - skip to next notice if response is empty #210
- added: webpanel - remember settings of % #212
- added: configuration/lang - emit new lang to webpanel if changed #194
- added: widgets/raffles - disable follower toggle and watched time input when raffle is running #207
- added: moderation/links - toggle to check links with spaces or not #193
- added: widgets/subscribers - add latest subs widget #166
- added: overlay/imagecarousel - simple fadeIn/fadeOut carousel #191
- added: libs/twitch - save when stream was offline #219
- fixed: response/filters (list.#) and (list.!#) should return message even if list is empty #211
- fixed: configuration/mute - bot will send both mute status in chat #167
- fixed: events/operations - fixed message was not correctly changed #220 #221
- fixed: libs/permissions - remove custom permission on command unregister #226
- fixed: systems/raffles fix announce not showing #222
- fixed: minor translation fixes
Changelog
- fixed: stream stopped events is triggered too often #199
- fixed: Alias list and Command list is always empty #200
- fixed: raffle widget cannot pick a winner #201
- fixed: mods event will fire only once 3ffe8e7
- fixed: missing follow/unfollow/ban/timeout events #202
- added: dashboard dark theme toggle #153
Changelog
- fixed: crash if user changes his username 7d2190b
- fixed: mods will not be automoderated #174
- fixed: points will be not visible in webpanel viewers tab if points system is disabled #178
- fixed: emit configuration on !set #180
- changed: aliases (and its commands) can contain spaces now #158
- changed: commands and aliases are case insensitive now #171
- changed: random number filters can have arguments #157
- changed: !set with empty value will set default value 3a313fc
- changed: non eligible users will not be added to raffle list at all 35ea4d2
- added: bot will send whisper message if raffle participation is succesfull or not 35ea4d2
- added: alias and custom commands toggle visibility in list #159
- added: (list.#) response filters #160
- added: !followage #165
- added: self purge !seppuku command #169
- added: self purge !roulette command with 50% chance #170
- added: bot will send both mute status in chat #167
- added: emotes overlay - will show emotes from chat #175, #176, #177, #179, #181, #182, #183
- added: stats overlay for viewers, followers, uptime #189
- added: toggable subscribers moderation imunnity #184
- added: added regulars permission #146
- added: manage channel regulars through !regular add and !regular remove #146
- added: raffles can have product now #163
- added: raffles set custom reoccurring message #164
- added: raffles added minimal watched time condition #161
- added: !uptime offline message will contain how long stream is off #192
- added: Event Listeners for various events and custom behavior #198
Changelog
- fixed: moderation empty blacklist timeouts #145
- fixed: pointsName for xmulti patterns #152
- fixed: points system regexp #155
- fixed: !watched crash if user doesn't have time attribute #156
- added: (game) and (status) filters #149
- added: (price) filter #151
- added: (command.#) filter #148
- added: (onlineonly) and (offlineonly) filters #150
- added: latest followers widget #142
- added: gambling system and simple !gamble with 50/50 outcome #154
Changelog
How to use API filter
- enhanced logging
- fixed: exclude sender in (random.*) (#128)
- added: (param) filter for custom commands (#129)
- Usage:
- Command !test with response: Something (param) something
- Expected behavior:
- !test
- bot will not respond (no param is given)
- !test dark side
- Bot: Something dark side something
- added: keywords, commands, notices can be edited in webpanel (#125)
- added: fully translatable webpanel (#122)
- added: whisper error if user have low permissions for command (#87)
- added: blacklisting (#9) and whitelisting (#10)
- added: soundboard duration progress bar when sound is played
- added: search dropdown suggestions for games
- added: dashboard viewers paging and username filtering
- added: message API filter for API calls (#138) - HOW TO USE BELOW
- changed way response time is calculated - will properly count when bot get message and finish parsing
- more optimizations of followers
- minor fixes (#130, #132)
Note: usable in notices, keywords, custom commands - everything with response
How to use in response:
(api|http://your.url.goes.here) Something something (api.fromApiJSON)
Example setting for !api custom command with json response:
Set response to:
(api|https://jsonplaceholder.typicode.com/posts/5) UserId: (api.userId), id: (api.id), title: (api.title), body: (api.body)
Twitch chat:
sogehige: !api
bot: UserId: 1, id: 5, title: nesciunt quas odio, body: repudiandae veniam quaerat sunt sedalias aut fugiat sit autem sed estvoluptatem omnis possimus esse voluptatibus quisest aut tenetur dolor neque
Example setting for !api custom command with string response:
Set response to:
(api|https://api.kyroskoh.club/dota-api/party-mmr?id=58241935) (sender), (api._response)
Twitch chat:
sogehige: !api
bot: sogehige, [SO,HI]GE's Party MMR: 2072