Releases: exoRift/cyclone-engine
Releases · exoRift/cyclone-engine
Version: 1.4.3
1.4.3
Important notes
- Eris is now an optional dependency. To install the engine without Eris, use
npm i cyclone-engine --no-optional
Bug fixes
- Fixed an issue where
Agent.getTopPermissionLevelwould not returnInfinityfor guild owners - Fixed an issue where awaits would sometimes not cancel after success properly because the code to cancel them was in the wrong place
- Fixed an issue with running commands in DMs
- Fixed an issue with sending responses to DMs
Version: 1.4.2
1.4.2
Bug fixes
- Fix improper intent names
Version: 1.4.1
1.4.1
New handling features
- Tokens are now automatically prefixed with the required keyword that designates bot accounts (Phasing out of Eris in the future)
- The dynamic argument parser now specifically looks for numbers in IDs rather than any character
Bug fixes
- Fixed an issue where a 401 error would occur on using the Agent's connect method
Version: 1.4.0
1.4.0
New handling features
- When commands are mounted, the command handler will now check if any commands have invalid mandation (an optional arg before a mandatory arg)
- You can now have server-side custom prefixes (See documentation for constructor option and methods)
- The owner ID no longer has to be supplied to handlers when used independently
- The Agent's connect method now resolves once the event handlers are initiated
- Handlers are now initiated when the current shard has connected and do not reinitiate on a reconnect
- Added 2 new argument types:
userandchannel. When a user provides a mention or name of the type, the Eris class instance of the type is passed to the command action - The
dataparameter forAgent.buildHelpis now fully optional as well as its individual properties Agent.buildHelpnew returns a react interface to scroll the help menu if embed data is supplied and the help menu is more than 1 page- The
numberarg type now usesparseFloat()instead ofparseInt() - Massively improved argument parsing performance
- There is now a new Agent method to build an in-depth help menu for a specific command
- Added a passthrough in the Agent constructor to append Eris constructor options to the calculated intents
Important notes
- Completely redid how initial guild data is supplied to the Agent. See documentation and method
Agent.compileGuildSQL - All handlers now extend from a base handler
Agent.validateChannelhas been moved toBaseHandler.validateChannelAgent.buildHelp({ supportServerInviteCode })has been changed toAgent.buildHelp({ serverCode })Agent.buildHelp({ prefixImage })has been changed toAgent.buildHelp({ footerImage })- The
buildHelphelp menu embed has been altered slightly new Await({ options: { shiftCount } })has been changed to a booleannew Await({ options: { shouldShift } })that causes only 1 shiftnew Await({ options: { postMessageFunction, postReactionFunction } })has been changed tonew Await({ options: { postEventFunctions: { message, reaction } } })
Bug fixes
Agent.validateChannelwill no longer error if the channel is a DM channel- Permissions no longer break with commands run in DMs
- The command handler no longer manipulates the content values of messages in the Eris cache
- Manipulating pages returned by the
buildHelpmethod no longer alters the cache - Fixed an issue with some replacer braces not working (especially multi-character ones) due to how the Regex was handled
Removed features
- Removed the loop function which can be done by anyone with a simple
setInterval - When a shard disconnects, the agent will no longer try to reconnect as Eris does that automatically
- Removed connectRetryLimit due to impracticality and the fact that it's handled by Eris
Version: 1.3.2
1.3.2
Important notes
Agent.addAttachmenthas been changed toAgent.attachAgent.removeAttachmenthas been changed toAgent.detach
Bug fixes
- Fixed bug that prevented await timeouts from working properly
Version: 1.3.1
1.3.1
New handling features
- Awaits are now supplied to their cancel functions as parameters
- Added support for gateway intents (automatically calculated and allow supplying of custom intents)
Important notes
Agent.getTopPermissionLevelnow returns Infinity for the owner of the guild
Bug fixes
- Fixed bug that prevented the command handler from properly checking if the reaction handler was enabled
- Fixed bug that prevented the reaction handler from properly checking if the command handler was enabled
- Fixed an issue with the help menu builder that caused a Discord error
- Fixed a bug that prevented the handlers from checking permissions properly
Removed features
- User blacklist
Version: 1.3.0
1.3.0
New handling features
- Commands and Awaits now support delimiters longer than 1 character
- ReactionHandler now has a method for detaching interfaces from messages
- You can now supply a user ID in the options for an Await
CommandHandler.addAwaitis now public- An array of awaits can now be added
Agent.buildHelpnow returns an object containing the embed and help menu pages- Prefixes are no longer needed when the bot is DM'd
- Commands and react commands can now be assigned a
guildOnlyoption that prevent them from being used in channels such as DMs - Added attachments! Attachments are attached to the agent via the proper method and are supplied to commands. A good use for the attachments system would be supplying your database manager
- Changed command and handler interaction flow to make more sense. All references now go through the agent. (For example, to access a command, use
action: ({ agent }) => agent.commandHandler.getCommand('name')) Agent.buildHelp's speed has been dramatically increased- Added an ALO permissions system (Authority Level Oriented)
Quality of life
- Upgraded the
Agent.buildHelphelp menu help icon (Now hosted in the repository as well) - Many class members have been moved around and changed. Refer to docs
- Many class methods are no longer async. Refer to docs
Important notes
CommandResults.options.waithas beeen changed toCommandResults.options.awaits- Upgraded to Node 12
- All
simple-knexoriented support has been dropped in light of the new attachments system - All
dblapi.jsoriented support has been dropped in light of the new attachments system new Agent({ agentOptions: { prefix } })has been changed tonew Agent({ handlerData: { options: { prefix } } })new CommandHandler({ prefix })has been changed tonew CommandHandler({ options: { prefix } })new Agent({ agentOptions: { maxInterfaces } })has been changed tonew Agent({ handlerData: { options: { maxInterfaces } } })- The event handlers no longer support custom error code ignoring. Error code ignoring is now handled by the agent. To propose more codes to ignore, make an issue on the repository
Agent.buildHelp({ page })has been changed toAgent.buildHelp({}, page)Agent.buildHelp({ description })has been changed toAgent.buildHelp({ desc })- Blacklisting users is now done through methods instead of the constructor
new Agent({ agentOptions })has been changed tonew Agent({ options })ReactCommand.restricted's behavior has been changed to act more likeCommand.restricted'sdesignatedUsersis no longer supported in the ReactCommand constructorrestrictedis no longer supported in the ReactInterface constructordesignatedUsersfor react interfaces no longer requires therestrictedproperty to be true. (It's by default an array containing the ID of the bound message author)
Bug fixes
- Fixed bug where supplying a single replacer without an array would not meet the conditions for the prefix-replacer braces error
- Fixed an inconsistency between
Command.infoandReplacer.info
Version: 1.2.4
1.2.4
New handling features
- Awaits are no longer passed an object to the check function. They are now directly passed the Message object.
- There is a new option for Awaits called
requirePrefixwhich will only trigger the await when it is prefaced with the bot prefix or mention. The Message object passed to the check function contains message content without the prefix.
Bug fixes
- Fixed a bug that slipped under the testing suite radar where the module would immediately crash on start (Yikes)
Version: 1.2.3
1.2.3
New handling features
- You can now designate a shift count for awaits to shift the args a number of spaces to improve argument usage
Command.infonow includes command aliases
Important notes
- If a function is passed for
Agent.agentOptions.statusMessage,editStatusis now the first parameter
Bug fixes
- The command handler will now send the length error for the invalid form body error
Embed size exceeds maximum size of 6000
(This was removed previously due to me forgetting the name of this error and removing the check for keyword 'size')
- When
Agent.agentOptions.statusMessageis a function,editStatuspassed no longer errors
Version: 1.2.2
1.2.2
Important notes
initResponsepassed to await actions has been changed totriggerResponse
Bug fixes
- Fixed an issue with
initResponse/triggerResponsefor Awaits