Releases: esmBot/esmBot
1.7.0
This release adds some new features, fixes many issues, and includes various improvements for self-hosters.
Note that there might be breaking changes to the image API in this version; more precisely, the default port has been changed to 3762 and TLS support has been added on the client.
This release was originally scheduled for New Years Day; however, due to complications with Discord, it was delayed. Happy new year!
Changes
- Added zamn
- Added grayscale
- Added sepia
- Added remove
- Added seek
- Reworked image API yet again to allow for alternative implementations and more format support
- Allow setting a custom image API server port (thanks @samhza)
- Improved logging on the image API
- Documented the image API
- Moved to the cmake.js build system for the image code
- Added an InitializeMagick call to the image functions
- Added the ability to set multiple bot owners on self-hosted instances
- Added .env option to make the bot stay in voice chat after finishing audio playback
- Added case special arg to meme
- Added font special arg to meme, caption2, and motivate
- Added the ability to play music from attachments (thanks @dx9er)
- Added UK/Britain country flags to flag
- Changed default database setting in .env to SQLite
- Get user info over REST if it's not cached
- Make tags with over 2000 characters display in embeds (thanks @Tetracyl)
- Merged forceskip into skip
- Lowered cached message limit to 50
- sticker now checks for stickers previously posted in chat, just like image commands
- Image load warnings are now properly catched
- Max file size on boosted servers is now recognized (#165)
- Fixed mirror colorspace
- Fixed pirate and trans flags not being recognized in flag (#169, thanks @kemallll)
- Fixed threads being treated as direct messages (#202 and #199, thanks @Ratismal)
- Fixed bots being counted as users in voice channels
- Fixed bot crashing if .git directory is missing
- Fixed various uncaught exceptions
- Changed some playing messages
- Updated packages
- Removed Bing results from image
- Removed qrcreate and qrread
1.6.4
This release fixes a couple of things and adds some goodies.
Changes
- Added forceskip
- Added shuffle
- Added fartreverb
- Added commit hash to info/stats
- Added shard count to Prometheus metrics
- Make the em dash (—) also work when using command options (for apple users)
- Catch all message delete errors
- Fixed help command generating lots of pages
- Fixed more instances of blank song metadata
- Fixed reload error messages
- Max skip vote amount is now based on number of users in voice chat
- Skip votes are now properly removed at the end of a voice session
- Updated readme/info to point to Steel's current Twitter
- Added/removed some playing messages
1.6.3
This release mainly fixes bugs and improves music playback.
Changes
- Ported the bot from CommonJS to ECMAScript modules (ESM)
- Added sticker
- Added server count to Prometheus metrics
- Added queued image jobs to API server selection logic
- Added start/finish logs to command and event loading
- Added support for YouTube playlists in music commands
- Music is now paused when everyone leaves the voice channel
- Made soos more smooth
- Added timeouts to many projectlounge.pw requests
- Accommodate for possible missing info in stats
- Blacklisted many WS events
- Replaced multiple fetch requests with Lavacord REST helpers
- Improved tag retrieval
- Hardcoded color levels in deepfry
- Ensure all data URIs are filtered from image results
- Fixed unhandled sound player error
- Fixed sound player permission check
- Fixed issue where sound connections weren't properly deleted after use
- Fixed help command not working with help page generator disabled
- Fixed users being able to disable the command command
- Fixed issue where music playback would sometimes freeze after a song ended
- Fixed issue with skipping music
- Fixed docker-compose help doc output
- Fixed guild adding in sqlite
- Fixed a pagination/interactions issue
- Removed cache image request due to a file descriptor leak
- Removed user count from stats
1.6.2
This release changes some functionality, fixes issues, and attempts to optimize things even further.
Changes
- Added command (for enabling/disabling commands in a server)
- Pagination now uses interactions instead of reactions
- Overhauled many database-related things (check the esmBot Support server for migration instructions)
- Added postgres query timeout
- Set tag content limit to 2000
- Error/warn logs are now logged to stderr
- Base64 image links are now filtered out in image
- Fixed skip issue in sound player
- Fixed sendTyping in DMs
- Various small database optimizations
- Remove link from image title
- Removed unnecessary checks from messageCreate
1.6.1
This release fixes some issues and makes some optimizations.
Changes
- Added font flag to caption
- Added a timeout message for long image processes
- Added a very basic image API authentication system
- Allow owner to use music commands in production
- Make pagination only apply when there's more than a single page
- HTTP requests to images over 8MB are now made for caching purposes
- Optimized some PostgreSQL database queries
- Made a small optimization to prefix handler
- Fixed error with clean function
- Fixed color issue with deepfry
- Fixed incorrect durations
- Disabled reply on pagination for now
- Removed prefix/disabled channel cache limit
1.6.0
This release adds a couple of new commands and makes some tweaks/fixes. Might be a bit smaller than expected, but that's mostly due to some backend changes.
Changes
- Added support for command flags, e.g. "--position" on snapchat
- Added whisper
- Added deepfry
- Added raw
- Added ancient
- Added broadcast
- Added user/server count to stats
- Added tags create as alias for tags add
- Added SQLite database support
- Ported the bot from eris-sharder to eris-fleet
- Moved image processing and Prometheus metrics to eris-fleet services
- Increased image safesearch level
- Increased uncaption tolerance
- Made jpeg work with GIFs
- Replaced raw date text with Discord markdown dates
- Added a note to cat about the image source
- Delete unfinished jobs on image server websocket connection close
- Fixed Prometheus metric names (#142)
- Fixed permission updates not being properly cached
- Fixed message not appearing on large input images
- Fixed paginator not removing reactions at end of timer
- Fixed database not properly caching disabled channels
- Fixed info/stats not properly getting owner
- Fixed help permission check
- Updated packages
- Removed unused variables from .env.example
- Removed MongoDB support
1.5.7
This release adds a new command and makes some quality-of-life changes.
Changes
- Added snapchat
- Reworked image API (again) to use websockets
- Changed image filesize limit from 20MB to 25MB
- The youtube command now uses Searx for results, removing the need to use a Google API key
- Added instance owner info to info/stats
- Added cluster number to stats
- Fixed divide-by-zero error with speed
- Added a couple of new playing messages
- More behind-the-scenes command parser work
- Added log message when database handler is set to dummy
- Database handler now falls back to dummy when DB variable is undefined
- Removed command filtering code due to slowdown
1.5.6
1.5.5
This release fixes and tweaks even more things.
Changes
- Added evalraw (incredibly unsafe and owner-only, use at your own risk!!)
- Switched image search provider from DuckDuckGo to Searx (instances can be added to servers.json)
- Changed meme text to allow for proper scaling
- More changes to handle image server disconnection
- Made soundreload apply to all clusters at once
- Check for null byte at beginning of delay block in speed
- Make sure help generator doesn't run if it's disabled
- Updated flag list
- Fixed true/false being censored in eval/exec output
- Removed unused image API opcode
1.5.4
This release fixes and tweaks some things.
Changes
- Added fancy new ASCII art when starting the bot
- Implemented new algorithms for fast, slow, freeze, and unfreeze that directly manipulate the GIF file buffers
- Image commands now pass a buffer instead of a URL into the native functions
- Changed the color of blurple to reflect the recent Discord rebrand (the old color can be used with
blurple old) - The text in meme now scales properly
- Changed Tenor API URL
- Changed the restart status message
- Reverted dockerfile changes from last update
- Fixed youtube pagination issue