A human-readable list of changes between versions.
Breaking changes this time involve the messages intent becoming priviliged in time. Everything in this is to try to make that transition easier.
- A new
info
command andconfig<BotConfig.bot_info>
vbu run-shell
as a newcommand line argument<cmd_run_shell>
.vbu commands [add|remove]
as a newcommand line argument<cmd_commands>
.- A drop-in replacement check for
discord.ext.commands.bot_has_permissions
anddiscord.ext.commands.bot_has_guild_permissions
in the form ofbot_has_permissions
andbot_has_guild_permissions
. These perform the original checks for message commands, and are ignored for application commands.
- Fixed
ComponentInteractionPayload.update_message
not functioning the same asdiscord.Message.edit
.
- Fix error where the paginator says components are undefined.
- Fix slash command arguments not being stripped.
- Fix slash command conversion errors not being dispatched.
help_command
andcommand_data
have been removed from the config.help_command
will still be parsed, but is no longer present in the default config file. A help command is not necessary in the world of slash commands, so configuring it is not high on the agenda.
- Fixed menus being created without default permissions.
- Support for context commands.
- Updated the list of converted colours.
- Changed how slash commands/subcommands were parsed.
Bot.session
now logs to statsd.
- Fixed error where you couldn't set wait kwarg on :code:`TextChannel`s.
- Handle disconnects and reconnects better in the shard manager.
- Handle pings and keepalives in the shard manager.
target_id
is now supported in the slash command handler.- Add an
argparse<voxelbotutils.Command.argparse>
attribute to the command decorator. The!addslashcommands
command is now updated to use this.
exc_info
is now returned properly on a startup failure.- The
send
command is no longer embeddified. - The list of colours has been updated for the
voxelbotutils.converters.ColourConverter
.
- Fixed error in outputting the recommended shard count.
- Removed native UpgradeChat utils, and instead move them to an external dependancy.
- Change the eval command to not include globals, and include the VBU data in a
vbu
arg. - Changed the shard manager to use sockets instead of redis.
- Fix error in creating a redis connection.
- Added a shard manager using redis.
- Remove caching from UpgradeChat utils.
- Fix logger being undefined in UpgradeChat utils.
- Add
voxelbotutils.TimeFormatter
.
- The bot will now say its recommended shard count before trying to connect.
- The
voxelbotutils.Bot.create_global_application_command
,voxelbotutils.Bot.create_guild_application_command
,voxelbotutils.Bot.bulk_create_global_application_commands
, andvoxelbotutils.Bot.bulk_create_guild_application_command`s will now return instances of :class:`voxelbotutils.ApplicationCommand
.
- Temporarily fixed an issue where the bot wouldn't start without installing web requirements.
- Fix the embed kwarg not being usable for some embeds.
- Allow a bot parameter in
voxelbotutils.menus.Menu.create_cog
.
- Message objects returned by the library will now be instances of
voxelbotutils.ComponentMessage
orvoxelbotutils.ComponentWebhookMessage
. - Handle parameters to slash commands better instead of leaving them to D.py to be converted.
- Change the format on vbu's loggers.
- Fixed an issue where paginators wouldn't expire cleanly.
- Allow select menus to be disabled
- Don't add a "menu loading" message for paginators.
This update is mainly to deal with breaking changes for the settings menus.
- The settings menus have been entirely, incompatibly, redone.
This update is mainly to deal with breaking changes for the web utilities.
- Added the
voxelbotutils.web.OauthGuild
,voxelbotutils.web.OauthUser
, andvoxelbotutils.web.OauthMember
classes. - The
discord.Message
anddiscord.WebhookMessage
objects have been replaced with subclasses that include message components. - Added
voxelbotutils.SelectMenu
and related objects. - Message objects now have
enable_components
anddisable_components
methods. voxelbotutils.InteractionMessageable
now has arespond<voxelbotutils.InteractionMessageable.respond>
method that allows you to give a type 4 response to an interaction.
- Raise
voxelbotutils.errors.NotBotSupport
if the support guild cannot be fetched. - If no scopes are given for
voxelbotutils.Bot.get_invite_link
, thebot's config<BotConfig.oauth.scopes>
will be used. - Messages have had
wait_for_button_click
removed in favour ofdiscord.Client.wait_for
. voxelbotutils.Paginator
now uses buttons instead of reactions.voxelbotutils.Button
instances will now allow a label to be empty if an emoji is set.- Components will now give you a
discord.PartialMessage
instance if the message was not included in the interaction payload.
- Fixed bug when checking for reactions in the settings menus.
- Fixed a bug in the stats command for Python versions 3.9+.
- Add a missing module in the custom command object.
- Fix bug where file content would not be read in the ev command.
- Fix AttributeError when getting user mentions in slash commands.
- Added
voxelbotutils.MinimalBot
. - The bot's startup logger line now includes the recommended number of shards that you should launch with.
- Added the
voxelbotutils.web.is_logged_in
method. - Add
version
command to the CLI args.
- If embeds are enabled, the footer of embeds will be changed to "currently live on Twitch" when the stream presence is set.
- If no permissions are given for
voxelbotutils.Bot.get_invite_link
, thebot's config<BotConfig.oauth.permissions>
will be used. - Add
remove_reaction
param to thevoxelbotutils.Paginator.start
method. - Made all
voxelbotutils.Button
parameters into kwargs, apart from name and custom ID, which are positional. - Add
voxelbotutils.ComponentHolder.add_component
andvoxelbotutils.ComponentHolder.remove_component
methods. - Add
voxelbotutils.MessageComponents.boolean_buttons
voxelbotutils.MessageComponents.add_buttons_with_rows
methods.
- Fix typo when creating website config.
- Fix the sharding information for when no arguments are set.
- Fix access token refreshing in
voxelbotutils.UpgradeChat
. - Fix button clicks not working with ephemeral messages.
- Catch
discord.ext.commands.ConversionError
in the error handler.
- Set error text to be ephemeral when using slash commands.
- Allow bots to be created without a prefix (see
BotConfig.default_prefix
).
- Fix command name in errors when using subcommands.
- Fix setting the presence when there are no shard IDs set.
- Fix casting for args in slash commands.
- Fix login URL redirect for websites.
- Fixed removeslashcommands command.
Initial changelog version.