4.0.0
IMPORTANT
Any feeds or profiles on a bot below v4.0.0 (this release version) MUST be updated to update and remove deprecated references.
To update:
- Make a backup of your profiles (through mongoDB, copy/pasting the json, or with rssbackup)
- Run
node update.js
in the main directory - Run
npm install
Major Changes
- Refactored many functions to be promises for much cleaner code
- Refactored to use database as source of truth for guild profiles, statistics and failed links
Additions
- Command rssalert to support DM'ing feed warnings/failures to users rather than in server channels
- Command rssprefix for custom prefix support
- Command rssversion for bot version
- Command rssinvite to send an invite link for the bot
- Command rssdump to see raw placeholders
- Controller command listguilds to generate a list of guilds the bot is in
- Controller command showtrace to show error stack traces
- Support for raw placeholders (directly from article sources)
- Support for direct regex input for regexOps (thanks @Chilace #83)
- Support for user subscriptions in addition to roles
- Support for multiple embeds for webhooks (not possible for users)
- Config
config.feeds.sendOldOnFirstCycle
- Config
config.bot.exitOnSocketIssues
- Config
config.feeds.decode
for manual encoding specifications for decoding feeds (allows fixes for feeds with ?? characters everywhere) - "this" as a valid channel input for rssmove
- Heroku deploy button (thanks @neveSZ #69)
Removals
- Controller command forceremove
- Support for statistics on databaseless versions
- Support for failed links on databaseless versions
- Config value "isolated" for
config.advanced.processorMethod
- Placeholders {reddit_author} and {reddit_direct}
config.feeds.sendOldMessages
config.feeds.maxOldAge
config.feeds.showRegexErrs
Changes
- Renamed "single" to "concurrent" for config.advanced.processorMethod config value
- Renamed "parallel" to "parallel-isolated" for config.advanced.processorMethod config value
- Renamed command rssroles to rssmention to account for users
- Replaced needle with node-fetch
Fixes
- Errors never being shown in channel for articles that failed to send
- Docker configuration issues (thanks Danpiel #53)
Miscellaneous
- Performance probably improved?
- Title checks are more robust. Previously title checks only affected previously sent articles. For example, if two articles in the same fetch cycle had the same title, title checks didn't do anything. Now it accounts for articles in the same cycle.
- Environment variables for certain configs can be set in a .env file in the root directory (thanks @Chilace #82)
- Added Contribution guidelines (thanks @Chilace #85)
- Refactored to use
config.js
across all files (thanks @NNTin #74)