
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Let's stop reinventing the wheel, and start coding the bots of our dreams!
Klasa is an OOP discord.js bot framework which aims to be the most feature complete, while feeling like a consistent extension of discord.js.
Originally based on Komada, Klasa has become a ship of Theseus, keeping many similarities with the former framework but with many enhancements and extra features.
Following suit from Komada (the Croatian word for "pieces"), Klasa is the Croatian word for "class". By the same token, Klasa is modular, and each module is a piece of a puzzle you use to build your own bot. And you can replace, enhance, reload or remove these pieces; the difference is that Klasa uses classes.
See the following tutorial on how to get started using Klasa.
[Dev] - 0.5.0
KlasaClientOptions.createPiecesFolders
to not create pieces' folders if they do not exist. (kyranet)Settings#update(entries: Array<[string, any]>);
overload. (kyranet)SETTING_GATEWAY_INVALID_FILTERED_VALUE
language key. (bdistin)Base
class for schemas, extending Map
. (Unseenfaith)SchemaType
and SchemaTypes
classes. (Unseenfaith)SchemaPieceOptions.filter
. (kyranet)SQLProvider#getColumns
. (kyranet)prefixCaseInsensitive
option in KlasaClientOptions
. (AdityaTD)GatewayDriverRegisterOptions.syncArg
for custom arguments for GatewayDriver#sync()
's call. (kyranet)GatewayDriver#@@iterator
. (kyranet)Gateway#syncQueue
for centralized lazy load cache and memory reduction. (kyranet)Configuration#synchronizing
getter to check whether a Configuration instance is lazy loading or not. (kyranet)Util.chunk
. (bdistin)Util.isPrimitive
. (kyranet)constants.DEFAULTS.QUERYBUILDER
. (kyranet)SQLProvider#updateColumn
. (kyranet)SQLProvider#parseUpdateInput
, Provider#parseUpdateInput
. (kyranet)QueryBuilder
class util. (kyranet)Configuration#waitSync()
to wait for the sync to finish. (kyranet)SQLProvider
. (kyranet)SchemaPiece#sqlSchema
for consistency with SchemaFolder#sqlSchema
. (kyranet)disabledCorePieces
option in KlasaClientOptions
. (bdistin)Argument
and ArgumentStore
classes for argument resolving in Usage
. (bdistin)Util.objectToTuples
for object overload -> array overload in Configuration#update
. (kyranet)Language
to be called with a single argument in Language#get
. (kyranet)PermissionLevels#remove()
. (bdistin)PermissionLevelsOptions.fetch
to autofetch uncached members. (bdistin)ignoreEdits
in monitors for whether a monitor should run in edited messages. (bdistin)catchUp
in ScheduledTask
, making the scheduled task not execute if the bot was offline when it was supposed to run, if this option is set to false. (bdistin)event
, emitter
and once
to all events. (bdistin)onceReady
piece event. (bdistin)COMMAND_CONF_NOCHANGE
to the en-US language file. (kyranet)Configuration#reset(string[]);
to reset multiple keys. (kyranet)util.arraysEqual
. (kyranet)Symbol.iterator
to Schedule. (kyranet)Gateway#toJSON()
and GatewayDriver#toJSON()
. (kyranet)GatewayDriver#register
to be able to register new gateways without events (directly in your app.js
). (kyranet)util.getIdentifier
as a replacement for the function validator. (kyranet)SchemaFolder#keys()
, SchemaFolder#values()
, SchemaFolder#entries()
and SchemaFolder#[@@iterator]()
. Identical to Map's respective methods. (kyranet)util.toTitleCase
. (KingDGrizzle)categorychannel
type to ArgResolver
. (kyranet)export default
in the loader. (kyranet)Configuration#_syncStatus
. (kyranet)SchemaPiece#setValidator
and SchemaPiece#validator
, to "inhibit" certain values to be set. (kyranet)692e485d2b
] Implemented the wildcards ?
, H
, and the scheduling definition @annually
. (bdistin)time
, duration
, date
and task
types to ArgResolver
. (bdistin)Duration
, a class helper to resolve human duration input into milliseconds. (bdistin)ClientStorage
: schedules
. (kyranet)CreatingTasks
tutorial. (kyranet)arrayPosition
property to ConfigurationUpdateOptions
to update objects in the middle of an array without removing/pushing. (kyranet)taskError
event. (bdistin)Schedule
, ScheduledTask
and Cron
alongside a new piece structure named Task
and its store, TaskStore
. (bdistin & kyranet)14d2b19a9f
] Added the possibility to create custom Configuration classes by extending Gateway#Configuration
. (bdistin)5130f9db6d
] Added Timestamp#displayUTC
. (bdistin)9f1ee51aa3
] Added Timestamp.utc
. (bdistin)266d64b2ba
] Added blacklist command. (bdistin)util.deepClone
to clone objects. (kyranet)util.getTypeName
to get the input's type. (kyranet)CommandOptions.promptTime
and CommandOptions.promptLimit
. (bdistin)KlasaMessage#prompt
finalizerError
. (bdistin)Util#makeObject
to make objects given a path and a value. (kyranet)Configuration#update
, much easier to use than Configuration#updateOne
, Configuration#updateArray
, and alias of Configuration#updateMany
when a json object is providen. (kyranet)KlasaClientOptions
to allow developers to set their own defaults for each kind of piece. (bdistin)monitorError
event. (kyranet)GatewayDriver
defaulted by null to reflect in the documentation. (kyranet)Schema
(the previous got renamed to SchemaFolder
), reducing duplicated code and bringing more code consistency. (kyranet)content
and options
in Message#sendMessage
and aliases are processed correctly while also reducing duplicated code. (kyranet w/ bdistin)!
. (kyranet)ProviderStore.default
, returning the default provider (by default json
, but configurable via KlasaClientOptions.provider.engine
). (kyranet)constants
and Util.mergeDefault
(bdistin) added Util.isClass
(kyranet)GatewayStorage
, containing SettingsGateway
's core (kyranet)clientStorage
, for client-wide configs (kyranet)KlasaClientOptions
, the changes will be reflected in the schema. (kyranet)moment.js
. (kyranet)schemaKeyAdd
, schemaKeyRemove
and schemaKeyUpdate
. (kyranet)isObject
method to Util
. (kyranet)SchemaPiece#modify
, allowing users to modify a SP's options. (kyranet)550ac275c8
(#109) Added the keys COMMAND_EVAL_DESCRIPTION
, COMMAND_UNLOAD_DESCRIPTION
, COMMAND_TRANSFER_DESCRIPTION
, COMMAND_RELOAD_DESCRIPTION
, COMMAND_REBOOT_DESCRIPTION
, COMMAND_PING_DESCRIPTION
, COMMAND_INVITE_DESCRIPTION
, COMMAND_INFO_DESCRIPTION
, COMMAND_ENABLE_DESCRIPTION
, COMMAND_DISABLE_DESCRIPTION
, COMMAND_CONF_SERVER_DESCRIPTION
, COMMAND_CONF_SERVER
, COMMAND_CONF_USER_DESCRIPTION
, COMMAND_CONF_USER
, COMMAND_STATS
and COMMAND_STATS_DESCRIPTION
to the en-US language. (Pandraghon)6f16689144
(#104) Added regexPrefix
as an option for KlasaClientOptions
. (MrJacz)2915d31b92
] (#43) A changelog... (kyranet)2915d31b92
] (#43) Added KlasaMessage
, KlasaGuild
, and KlasaUser
, extending DiscordJS.Message
, DiscordJS.Guild
and DiscordJS.User
, respectively. Many of the getters have turned properties for performance. (kyranet)2915d31b92
] (#43) Added User#configs
, which has an empty schema by default. The developer can take advantage of this, expand the schema, and feature a full featured user configs. (kyranet)2915d31b92
] (#43) Added configUpdateEntry
, configDeleteEntry
and configCreateEntry
events. (kyranet)2915d31b92
] (#43) Configuration
class, which all the new update methods from SettingsGateway, featuring full OOP and much easier to use and remember. (kyranet)2915d31b92
] (#43) Schema
and SchemaPiece
classes, with helper methods that allow the gateway parse and retrieve data much faster, as well as following the OOP paradigm when it comes to modifying the schema and much friendlier to use. (kyranet)2915d31b92
] (#43) More options to GatewayDriver#add
, allowing you to set different providers in different gateway instances. (kyranet)2915d31b92
] (#43) Added Folder type (nested objects, yay!). (kyranet)2915d31b92
] (#43) Added SchemaPiece.configurable
to avoid certain keys to be processed by the default conf command. (kyranet)2915d31b92
] (#43) Added any type to SettingsResolver. Assigning this type to a SchemaPiece will make it set the property configureable to false, it accepts anything you pass to it, even objects. So you must use dedicated commands to configure these keys instead. (For example, you can store an array of objects with a certain number of properties, something not possible in the previous versions as the conf command cannot parse objects correctly). (kyranet)2915d31b92
] (#43) [PERF] Much better, accurate and faster SchemaPiece validation and parsing. (kyranet)2915d31b92
] (#43) [PERF] Added Schema.toJSON();
, which converts the classes into a plain JSON object. This method is 27^level times faster than iterating over it with Object.keys
. (kyranet)2915d31b92
] (#43) Added a Collection provider. (kyranet)2915d31b92
] (#43) Added Provider.cache
. (kyranet)2915d31b92
] (#43) Added GatewaySQL (extends Gateway, overriding the methods for better SQL parsing). (kyranet)2915d31b92
] (#43) Added Gateway#insertEntry
, which inserts a new Configuration
entry to the cache and sync if possible. (kyranet)'!'
to ''
. (kyranet)Schema#add
and Schema#remove
to be synchronous. They must be called before ready. (Unseenfaith)GatewayDriver#register
's arguments to move schema
's argument to GatewayDriverRegisterOptions
. (kyranet)Schema
instance instead of a SchemaFolder
instance. (Unseenfaith)GatewayStorage
's schema argument to take a Schema instance. (kyranet)configCreateEntry
, configDeleteEntry
, and configUpdateEntry
to settingsCreateEntry
, settingsDeleteEntry
, and settingsUpdateEntry
respectively. (kyranet)SchemaFolder#add
will not longer throw on conflict, but edit the SchemaPiece or update the SchemaFolder. (kyranet)SchemaPiece#edit
is now able to change any of the SchemaPiece's metadata. (kyranet)Schema#get
(which SchemaFolder
inherits) now supports paths or arrays. (kyranet)Configuration
to Settings
. (kyranet)INHIBITOR_REQUIRED_CONFIGS
to INHIBITOR_REQUIRED_SETTINGS
. (kyranet)KlasaMessage#guildConfigs
to KlasaMessage#guildSettings
, KlasaGuild#configs
to KlasaGuild#settings
, KlasaClientOptions.preserveConfigs
to KlasaClientOptions.preserveSettings
, and Command#requiredConfigs
to Command#requiredSettings
. (kyranet)Configuration
instance. (kyranet)configUpdateEntry
event to take only two parameters (patched Configuration
instance, and the updated keys as ConfigurationUpdateResultEntry[]
). (kyranet)Configuration#reset
. (kyranet)SQLProvider#createTable
. SettingsGateway will not provide columns, for consistency with JSON providers. Instead, retrieve the columns from Gateway
. (kyranet)SQLProvider#addColumn
to have the arguments table: string, columns: SchemaFolder | SchemaPiece
. (kyranet)Gateway
's constructor public in typings. (kyranet)Configuration#_existsInDB
nullable to denote Configuration instances that have never sync. (kyranet)Monitor#shouldRun
to accept a single argument. (bdistin)Configuration#update
. (kyranet)SchemaFolder#getSQL
to SchemaFolder#sqlSchema
. (kyranet)SchemaPiece#sql
's type from [string, string]
to string
. (kyranet)data
from null
to {}
, allowing object spread to attach the id of the executed task in Task#run
. (kyranet)Configuration#update
. (kyranet)Gateway#getPath
to take piece: null
as an option for mixed output. (kyranet)GatewayStorage
to not depend on being inherited. (kyranet)Util.isClass
and Util.isObject
for a ~5 times performance boost. (kyranet)Util.makeObject
to take an object as third parameter, allowing SettingsGateway's internals to append properties without Object.assign
. (kyranet)[p]conf list
and [p]conf get
(and [p]userconf
) subcommands to [p]conf show
. (kyranet)Language#get
. (kyranet)addLevel
to add
and moved the break
boolean to PermissionLevelOptions.break
, which is taken as third parameter. (bdistin)appliesTo
in extendables to be an option in ExtendableOptions
. (bdistin)GatewayDriver#types
from string[]
to Set<string>
. (kyranet)SchemaPiece#modify()
to SchemaPiece#edit()
. (kyranet)Gateway#getKeys()
and Gateway#getValues()
to Gateway#keys(true)
and Gateway#values(true)
respectively, which return iterators. (kyranet)Piece#file
is now consistent between all pieces and it's type of string[]
. (bdistin)Command
to have category and subCategory properties as getters. (bdistin)Store
for code reduction. (bdistin)dependant arguments
-like arguments using custom arguments and messages. (bdistin)arg
, possible
and msg
as parameters instead of arg
, currentUsage
, possible
, repeat
and msg
. Repeating handling is now done in the backends. (bdistin)'id'
a PRIMARY KEY
in the SQL schema generator. (kyranet)Configuration#update
to accept the overload (key: string, value: any, options:ConfigurationUpdateOptions)
as opposed of passing undefined
in the guild
field between value
and options
. (kyranet)SchemaFolder#addKey
and Colors
. (bdistin)338ebb0eb2
] Prefixed Timestamp#_resolveDate
. (bdistin)f2cc604ead
] Arguments are now trimmed. (bdistin)4a70f1c271
] Added spaces to blacklist output. (bdistin)KlasaClientOptions.provider.engine
to KlasaClientOptions.providers.default
. (kyranet)KlasaConsole
class to recognize the shard the message got sent. (bdistin)KlasaMessage#args
and KlasaMessage#params
are now readonly and getters from KlasaMessage#prompter
. (bdistin)KlasaClientOptions.promptTime
to KlasaClientOptions.customPromptDefaults
, changing type from number
to KlasaCustomPromptDefaults
aswell. (bdistin)Configuration#update
will upload only the modified keys rather than all of them when using a json
database. (kyranet)GatewayDriver
(as getters) to constants.GATEWAY_RESOLVERS
. (kyranet)Schema#manager
and SchemaPiece#manager
got renamed to Schema#gateway
and SchemaPiece#gateway
. (kyranet)Timestamp
to be able to show a formatted date with an arbitrary pattern. (kyranet)SchemaFolder
to extend the brand new Schema
class. (kyranet)KlasaClientConfigs
to KlasaClientOptions
(kyranet)this.client.config
to this.client.options
(bdistin)Gateway
to extend GatewayStorage
(kyranet)550ac275c8
] (#109) Translated the description for all commands. (Pandraghon)550ac275c8
] (#109) Nested folders in the configuration will show with a format of Folder1/Folder2/Folder3/...
instead of Folder1.folder2.folder3...
. (bdistin and Pandraghon)63af836277
] (#80) If the command's name contains uppercase characters, they will get lowercased. (kyranet)2915d31b92
] (#43) [BREAKING] Renamed Guild#settings
and Message#guildSettings
to Guild#configs
and Message#guildConfigs
, respectively. (kyranet)2915d31b92
] (#43) [BREAKING] Renamed client.settings
to client.gateways
. (kyranet)2915d31b92
] (#43) Renamed the inhibitor requiredSettings
to requiredConfigs
. (kyranet)2915d31b92
] (#43) Renamed the key Command#requiredSettings
to Command#requiredConfigs
. (kyranet)2915d31b92
] (#43) Added a new option for the guildDelete
event: KlasaClientOptions.preserveConfigs
, which, if true, it will not delete the guild configs when the bot leaves a guild. (kyranet)2915d31b92
] (#43) Renamed SettingsGateway to Gateway. (kyranet)2915d31b92
] (#43) Renamed SettingsCache to GatewayDriver. (kyranet)2915d31b92
] (#43) [BREAKING] GatewayDriver#validate
does not longer have an instance of SettingResolver
as first parameter, but a bound this
referring to the GatewayDriver instance. (With access to KlasaClient and SettingResolver). (kyranet)2915d31b92
] (#43) [BREAKING] Gateway#get
-> Gateway#getEntry
. (kyranet)2915d31b92
] (#43) [BREAKING] Gateway#update
has been completely removed. Use Configuration#updateOne
, Configuration#updateArray
or Configuration#updateMany
instead. (kyranet)2915d31b92
] (#43) [FEATURE] Configuration#updateOne
, Configuration#updateMany
, Configuration#reset
and Configuration#updateArray
can now filter unconfigurable keys if the parameter avoidUnconfigurable
is passed and set to true
. (kyranet)2915d31b92
] (#43) Gateway#schema
is not longer a plain object, but a Schema
instance. (kyranet)2915d31b92
] (#43) [PERF] Removed tuplifier in favor of cached tuples. (kyranet)2915d31b92
] (#43) [PERF] Improved updateArray remove method. (~1.85 times faster). (kyranet)2915d31b92
] (#43) [PERF] The cache now updates from the cache instead of re-syncing with the DB. (When using JSON and Collection, Samsung SSD at 600 MB/s read, performance is improved by 97k ops/sec to 53M ops/sec, 454 times faster). (kyranet)2915d31b92
] (#43) Configuration#updateOne
now accepts array type. It'll call the private method that does the parsing for updateArray. (kyranet)2915d31b92
] (#43) [PERF] SQL parsing is now shared with NoSQL, however, SettingsGateway's parsing procedures do not return JSON objects, instead, it returns data compatible for both environments. (kyranet)2915d31b92
] (#43) [PERF] When using SettingResolver
, SettingsGateway will not longer do type.toLowerCase()
, but they're lowercased at startup. (kyranet)2915d31b92
] (#43) [BREAKING] Gateway do not longer extend SchemaManager and CacheManager, but it's a class by itself. (kyranet)2915d31b92
] (#43) Made the types that SettingsGateway accepts for the key types dynamic (based on SettingResolver's prototype) and public through client.gateways.types;
. (kyranet)Settings#waitSync
in favor of Settings#sync(?false);
. (kyranet)Settings#update(keys: string[], values: any[])
overload. (kyranet)Util.getIdentifier()
. (kyranet)bwd/*.schema.json
files. (Unseenfaith)Resolver
and SettingsResolver
classes. (Unseenfaith)GatewayDriver#resolver
and GatewayStorage#resolver
. (kyranet)GatewayStorage#baseDirectory
and GatewayStorage#filePath
. (kyranet)guildsSchema
, usersSchema
, and clientStorageSchema
from GatewayDriver
. (Unseenfaith)Provider#removeValue
and SQLProvider#removeValue
. (kyranet)schemaKeyAdd
, schemaKeyRemove
, and schemaKeyUpdate
events. (kyranet)GuildSettings
, SchemaObject
, and SchemaDefaults
from typings. (kyranet)Configuration._merge
, Configuration._clone
, Util.applyToClass
, and Util.arraysEqual
. (kyranet)Configuration#_syncStatus
. (kyranet)GatewayGuildResolvable
type from typings. (kyranet)JSONProvider#set
and JSONProvider#insert
. (kyranet)Provider#sql
and SQLProvider#sql
. (kyranet)SchemaPiece#_generateSQLDatatype
and SchemaPiece._parseSQLValue
. (kyranet)SchemaPiece#sql
. (kyranet)SchemaFolderAddOptions.sql
. (kyranet)GatewayStorage#sqlSchema
, SchemaFolder#sqlSchema
, and SchemaPiece#sqlSchema
. (kyranet)Role
and GuildMember
overloads for GuildResolvable
. (kyranet)GatewayStorage#initTable
and GatewayStorage#initSchema
, they're now unified in GatewayStorage#init
. (kyranet)force
options in SettingsGateway operations. (kyranet)ProviderOptions.cache
and ProviderOptions.sql
options. (kyranet)ArgResolver
class. (bdistin)Gateway#getEntry
(mixed getEntry and insertEntry into Gateway#get
), Gateway#createEntry
, and Gateway#insertEntry
. (kyranet)Gateway#options
and Gateway#defaultSchema
. (kyranet)Provider
's nice option. As it was only used by the JSON provider. Should use a better system instead. (kyranet)SchemaFolder#addKey
and SchemaFolder#addFolder
in favor to a more consistent Schema#add
. (kyranet)Configuration#resetConfiguration()
. (kyranet)Configuration#type
. (kyranet)SchemaFolder#removeKey
and SchemaFolder#removeFolder
in favor to a more consistent Schema#remove
. (kyranet)resolveString()
from SchemaFolder and SchemaPiece. (kyranet)SchemaFolder#getList
and replaced it to Configuration#list
. (kyranet)ConfigUpdateEntryMany
typedef in favor of a more constant type. (kyranet)SchemaFolder#keys
(Map<string>
) to reduce RAM usage and key caching duplication. (kyranet)GatewayOptions.cache
to be locked to 'collection'
. (kyranet)Configuration#updateMany
is now under Configuration#update
, in favor of a much less confusing naming. (kyranet)5b0c468362
] Removed KlasaClient.sharded
as Client.shard
is now fixed. (bdistin)util.newError
. (bdistin)Configuration#updateOne
, Configuration#updateArray
. They're replaced by Configuration#update
. (kyranet)KlasaClientOptions.quotedStringSupport
in favor of the new per-piece defaults. (bdistin)GatewaySQL
. (kyranet)moment.js
from the dependency list. (kyranet)2915d31b92
] (#43) Removed a bunch of extendables. (kyranet)2915d31b92
] (#43) [PERF] Removed CommandMessage
proxy in favor of the brand new KlasaMessage
. As in Node.js 9.2.0, Proxy creation performs 37M ops/sec, and property access 1.7M ops/sec (all pieces after Inhibitors use that proxy). As it's now removed, property access should perform around 520M ops/sec (~305 times faster). (kyranet)2915d31b92
] (#43) Removed the messageDelete
event. (kyranet)2915d31b92
] (#43) Removed the messageDeleteBulk
event. (kyranet)2915d31b92
] (#43) Removed the guildCreate
event. (kyranet)2915d31b92
] (#43) Removed the SQL
class. Replaced by GatewaySQL and Schema/Piece. (kyranet)2915d31b92
] (#43) Removed the CacheManager
class. Replaced by CacheProviders. (kyranet)2915d31b92
] (#43) Removed Gateway#add
. Replaced to Schema#addKey
. (kyranet)2915d31b92
] (#43) Removed Gateway#remove
. Replaced to Schema#removeKey
. (kyranet)2915d31b92
] (#43) Removed SQLProvider#serialize
, SQLProvider#sanitize
, SQLProvider#CONSTANTS
. (kyranet)SQLProvider#qb
property being missing in typings. (kyranet)GatewayDriver#toJSON()
. (kyranet)GatewayDriverRegisterOptions.download
is true. (kyranet)Gateway#parseEntry
not being a function. (kyranet)Util.deepClone
trying to iterate over WeakMap
s and WeakSet
s. (kyranet)Configuration#_syncStatus
resolved too early. (kyranet)GatewayDriver#register
and improved performance. (kyranet)Configuration#_parseSingle
not returning the modified array but the updated element. (kyranet)Util.getIdentifier
nullifying numbers and booleans. (kyranet)SettingResolver#integer
and SettingResolver#float
not accepting 0
as input. (kyranet)Util.deepClone
not cloning full objects. (kyranet)SchemaFolder#_shardSyncSchema
not passing the action as string. (kyranet)null
values in updateMany's pattern not updating nested keys plus individual queries. (kyranet)configEntryCreate
when the entry does not exist. (kyranet)Configuration._patch
not patching after the second nested folder. (kyranet)Provider
not having abstract methods in typings. (kyranet)Store
without generic parameters, causing the TypeScript compiler to fail. (kyranet)0
as min
and/or max
due to falsy value check. (kyranet)discord.js
and fixed all JSDocs
. (kyranet)'MM'
token not padding with zeroes in the start. (kyranet)35c42296fe
] Fixed GatewayStorage getting the wrong value. (bdistin)ab1f7c9ecf
] Fixed a bug where GatewayDriver wasn't checking if the provider was a CacheProvider correctly. (bdistin)d7b0eaaffc
] Fixed KlasaClientOptions.providers
. (bdistin)39380f29d4
] Fixed mergeDefault not cloning arrays. (bdistin)08e5314565
] Fixed duplication in Timestamp. (bdistin)9f1ee51aa3
] Fixed guildBlacklist being unable to add guilds where the bot is not in. (bdistin)649d088c06
] Fixed multiple non repeating in Usage. (bdistin)d9459c78c7
] Fixed the stats command not initializing the variables correctly. (bdistin)broadcastEval
s. (kyranet)Object.assign
doesn't merge nested objects. (kyranet)KlasaConsoleConfigs
not defaulting correctly. (bdistin)SchemaFolder#addFolder
not working correctly. (kyranet)updateMany
not parsing arrays. (kyranet)Configuration#update
. (kyranet)MessageOptions
not being correctly handled with StringResolvable
, resulting on code like msg.send({ embed });
to fail. (kyranet)Configuration#get
. (kyranet)Gateway
and Schema
cannot re-init twice. (kyranet)SchemaPiece#modify
not editing the datatype from the SQL database when using a SQL provider. (kyranet)NULL
not being resolved correctly in _parseSQLValue
(kyranet)Message#sendMessage
and Message#send
. (kyranet)isFunction
method in Util. (kyranet)UnderstandingSettingsGateway.md
. (Pandraghon)ede5894763
] Fixed a typo in the help command. (bdistin)2915d31b92
] (#43) A lot of things in Typings and marked a lot of private methods properly. (kyranet)2915d31b92
] (#43) Typos in languages. (kyranet)2915d31b92
] (#43) Fixed GatewayDriver#validate
not working properly. (kyranet)2915d31b92
] (#43) The eval command being unable to catch certain errors. (kyranet)2915d31b92
] (#43) Fixed the JSON provider throwing errors. (kyranet)2915d31b92
] (#43) Fixed multiple minor issues. (kyranet)2915d31b92
] (#43) Store loader not showing error stack. (kyranet)2915d31b92
] (#43) JSON provider loading files that are not JSON. (kyranet)FAQs
Klasa: Croatian for 'class', is a class based remix on Komada.
The npm package klasa receives a total of 102 weekly downloads. As such, klasa popularity was classified as not popular.
We found that klasa demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.