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.getTopPermissionLevel
would not returnInfinity
for 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:
user
andchannel
. 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
data
parameter forAgent.buildHelp
is now fully optional as well as its individual properties Agent.buildHelp
new returns a react interface to scroll the help menu if embed data is supplied and the help menu is more than 1 page- The
number
arg 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.validateChannel
has been moved toBaseHandler.validateChannel
Agent.buildHelp({ supportServerInviteCode })
has been changed toAgent.buildHelp({ serverCode })
Agent.buildHelp({ prefixImage })
has been changed toAgent.buildHelp({ footerImage })
- The
buildHelp
help 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.validateChannel
will 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
buildHelp
method 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.addAttachment
has been changed toAgent.attach
Agent.removeAttachment
has 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.getTopPermissionLevel
now 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.addAwait
is now public- An array of awaits can now be added
Agent.buildHelp
now 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
guildOnly
option 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.buildHelp
help 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.wait
has beeen changed toCommandResults.options.awaits
- Upgraded to Node 12
- All
simple-knex
oriented support has been dropped in light of the new attachments system - All
dblapi.js
oriented 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
'sdesignatedUsers
is no longer supported in the ReactCommand constructorrestricted
is no longer supported in the ReactInterface constructordesignatedUsers
for react interfaces no longer requires therestricted
property 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.info
andReplacer.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
requirePrefix
which 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.info
now includes command aliases
Important notes
- If a function is passed for
Agent.agentOptions.statusMessage
,editStatus
is 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.statusMessage
is a function,editStatus
passed no longer errors
Version: 1.2.2
1.2.2
Important notes
initResponse
passed to await actions has been changed totriggerResponse
Bug fixes
- Fixed an issue with
initResponse
/triggerResponse
for Awaits