Releases: espimarisa/hibiki
v3.3.1
Hibiki v3.3.1 - 3/3/2021
This release fixes some early bugs found with v3.3.0. More patches are likely to come for this version.
Bug Fixes
- Fixed user responses erroring if no answer was provided
- Fixed message loggers from crashing if the content was over the fields limit
- Fixed EasyTranslate occasionally failing to run if msg.string() didn't exist in the scope
v3.3.0
Hibiki v3.3.0 - 3/3/2021
Breaking
As the API is backwards compatible with v3.2.x, we will not be bumping the version to v4. However, some backwards compatibility has been broken.
- Rewrote or ported everything to TypeScript.
- You now have to install all modules, not just
--only-production
. - Config.json has been tweaked. You'll need to remake your config if you're selfhosting.
- Docker support has been removed in favor of PM2.
- We no longer give support for self-hosting. The bot is still self-hostable, but we will not answer any questions regarding such.
- Some aliases have been changed. The most notable of which is
h!profile
. It now runs the profile configuration command, not the user command. - A few old, useless, or broken NSFW and image commands were removed.
New Features
This release was mostly focused on getting two landmark features out - music and localizations. However, it quickly turned into an ever larger release than originally planned.
-
Added a localization system. All strings are now fully translatable, powered by Crowdin.
h!profile
- View our translation guide for details on how to translate the bot.
- English, German, French, Romanian, Moldovan, and Japanese are currently available.
- Server owners can choose a default locale for members that don't have theirs set.
h!config
- Feel free to help us translate the bot! Make sure you read our guide.
- View our translation guide for details on how to translate the bot.
-
Added a music command category and their respective commands, powered by Lavalink.
- Added nowplaying, pause, play, queue, repeat, shuffle, skip, stop, and volume commands.
- As it's powered by Lavalink, it supports any source enabled in
application.yml
. - You can choose an optional
musicRole
,musicChannel
, and whether or not only the requester can control a track.- The music role designates who can use music commands, and the music channel sets the only channel music can play in.
-
Added
antiNewLines
,antiMassMention
, andantiRaid
automod options.- antiNewLines detects and punishes members for spamming newlines.
- antiMassMention detects and punishes members for spamming mentions.
- antiRaid attempts to prevent mass-member joining and member bombing.
-
Added a basic word filter module for staff.
h!filter [word]
- This will attempt to find and delete words that match the blocked content.
- In the future, it will be updated to be less bypassable.
- This will attempt to find and delete words that match the blocked content.
-
Added a native user profile configuration command.
h!profile
- You can now choose your profile configuration options directly in Discord.
- You can now fully delete your profile configuration directly in Discord.
-
Added a crypto command for getting crypto prices and conversions.
h!crypto [coin]
- It will display rates in various currencies and a pretty 24hr graph.
-
Added a GDPR command for getting your user data (or if you're a guild owner, your guild data).
h!gdpr [guild]
- This will output any data that's known about you to a JSON file in your DMs.
-
Added a saucenao command for finding image sources.
h!saucenao <image> (NSFW)
-
Added emoji loggers to log when an emoji is created, deleted, or renamed.
-
Added support for timed mutes.
h!mute <member> [time] [reason]
- The member will automatically be unmuted after the time provided.
-
Added support for logging what invite was used on the member loggers.
- This will show invite uses, inviter, invited channel, and more data to help you track down bad members.
- If you don't want your invites read-only cached for this feature, you can opt out with the config command.
h!config
-
Added support for purging certain types of messages only.
h!purge <amount> [member | type] [type]
- You can now specify
links
to purge only links,images
to purge only images, andfiles
to purge only files. - You can also combine options.
- You can now specify
-
You can now customize the leave and join messages more.
h!config
- You can customize the title and footer now.
-
You can now enable logging other bot's messages now.
h!config
-
The messageUpdate, messageDelete loggers and the pinboard can now display much more content.
- Will attempt to parse embeds and display embedded images now, including from other bots.
-
Added a donate command to tell users how to donate to the project.
- Read the donating section of the README for more information.
-
Added a shard command for finding out what shard your server is in.
h!shard
-
Added a shards command for getting shard analytics.
h!shards
-
Added support for more bot listing websites and their analytics.
Feature Changes
With this release, we focused heavily on improving some UX flaws and kinks. Additionally, we tried to add more features to some modules.
- You can now specify a reason for muting, unmuting, verifying, and unverifying members.
h!mute <member> [time | reason] [reason]
- You can now get basic user info from users outside of the server.
h!user [userID]
- You can now get a user's avatar that's outside of the server.
h!avatar [userID]
- The forceban and unban commands will now display the usernames of banned/unbanned members.
h!forceban <userIDs>
- You can now assign multiple roles at once, unassign multiple roles at once, and set/unset multiple assignable roles at once.
h!assign <role1> <role2>
- You can now specify how many messages to clean from the bot in the clean command.
h!clean [amount]
- The GitHub command now displays more information about a user or repo.
h!github <profile | repo>
- When giving a user a point or warning, the ID and their total will now show in the output.
h!addpoint <member> [reason]
- The color command will now show CIELAB information.
h!color [hexcode]
- You can now specify a number between 0 and 100% for the gaylevel command.
h!profile
- You can now specify a time over 25 days for the reminder command.
h!remind <time> <reminder>
- The userinfo command now shows what badges a user has.
h!userinfo [user]
- The userinfo and server commands will now show more information.
h!server
- Tweaked the Dashboard's Bulma theming to be more consistent.
https://hibiki.app
- The role creation and deletion loggers will now show what permissions a role had.
- If a member has more than 15 points or warnings, it will now pagify into multiple warnings instead of uploading a file.
Bug Fixes
Many, many minor bugs have been fixed without a proper patch note. But here are the ones we've managed to list.
- Fixed a breaking bug that was preventing commands that relied on reactions from not functioning.
- Fixed a breaking bug that sometimes meant you wouldn't be reminded of things if the bot restarted.
- Fixed a bug in which the Steam command would error if a user is playing a game.
- Fixed a bug in which the remind command wouldn't accept input with a link given.
- Fixed many automod bugs and inconsistencies.
- Fixed the bot not displaying the most up-to-date stats in the playing status.
- Fixed the setup command double-adding reactions.
- Fixed many commands from erroring at random. God bless the
?
operator. - Fixed various dashboard UI and backend bugs
- Fixed various slot command bugs and slightly nerfed it
- Fixed loggers trying to log to channels that no longer exist.
Refactoring & Workflows
Almost everything under the hood has been touched, but here's some highlights that are worth noting.
- Added CodeQL scanning support
- Switched to using Prettier
- Switched to using axios over node-fetch
- Updated and enhanced our linter options
- Fixed and updated various GitHub actions
- Updated the test script to test compilation
- Removed a couple old useless dependencies
- Switched to using a modern RethinkDB session store library
v3.2.10
Bug Fixes
- Fixed the command DM handler not always running the right command
- Fixed the urban command not always splitting (by @MountainWhale)
- Fixed the user command from crashing if you aren't subscribed to the proper intents
- Fixed the botGuildUpdate logger from not sending if an owner ID wasn't cached
- Fixed the e621 command from not working occasionally
- Fixed the EasyTranslate command not handling invalid author dynamicAvatarURLs
v3.2.9
Bug Fixes
- Fixed automod...again.
v3.2.8
Bug Fixes
- Fixed automod messages from not sending
- Fixed the logging link on the dashboard from not scrolling
- Removed old Twitter metadata and links
v3.2.7
v3.2.6
Bug Fixes
- Fixed the pay command not checking for negative amounts
v3.2.5
Bug Fixes
- Fixed a (breaking) bug that broke the pinboard and crashed the bot
- Fixed the embed generator's channel checker
- Fixed the module loader not waiting until the database is ready
v3.2.4
New Features
- Added native Docker support (by @TTtie)
Feature Changes
- When a blacklisted user tries to run a command, it will be logged to the console
- Running enable with no arguments will now list any disabled commands
- Running disable with no arguments will now list any disabled commands
- Deleting a config on the dashboard will now ask for confirmation
Refactoring
- Dropped jQuery and the old multiselect lib
- Web modules now use strict mode
- Moved to a faster vanilla JS library by @resolvedxd
- The database will now automatically set itself up on startup
- The database will now wait until it's ready to do things
Bug Fixes
- Fixed the boolean argtype
- Fixed the disable/enable messages from being inconsistent
- Fixed commands that couldn't be disabled being able to be disabled from the dashboard
- Fixed the snipe link not working on the dashboard
- Fixed the pinboard and messageUpdate's logging from slicing usernames
- Fixed easyTranslate erroring for permission issues
- Fixed various typos on the profile and server manager
- Fixed the currently married marriage checker
- Fixed moderation commands that DM the victim from not checking if they can
- Fixed the pinboard not checking message author before editing a message
- Fixed non-disablable commands from being pushed to the disabledCommands dashboard option
- Fixed non-disableable commands from being able to be disabled by disabling a category
- Fixed the profile manager including unused libraries
v3.2.3
Bug Fixes
- Fixed the timezone checker
- Fixed error 204 status codes from sending data on the dashboard
- Fixed error handler not ignoring blocked reactions