nyxx 4.2.0-dev.0 nyxx: ^4.2.0-dev.0 copied to clipboard
A Discord library for Dart. Simple, robust framework for creating discord bots for Dart language.
4.2.0-dev.0 #
11.11.2022
- feature: missing forum channel features (#387)
- bug: Cache user when fetching (#384)
4.1.3 #
01.11.2022
- bug: Combine decompressed gateway payloads before parsing them
4.1.2 #
30.10.2022
- bug: Correctly emit connected event in
ShardManager
4.1.1 #
23.10.2022
- bug: Fix deserialize the emoji id of the forum tag (#378)
4.1.0 #
25.09.2022
- feature: Add
invitesDisabled
feature (#370) - feature: Add pending for member screening (#371)
- feature: member screening events (#372)
- feature: Cache guild events (#369)
- feature: Refactor internal shard system (#368)
- feature: Event to notify change of connection status (#364)
- feature: feature: auto moderation (#353)
- bug: Fixup shard disconnect event
4.1.0-dev.4 #
15.09.2022
- feature: Add
invitesDisabled
feature (#370) - feature: Add pending for member screening (#371)
- feature: member screening events (#372)
4.1.0-dev.3 #
03.09.2022
- feature: Cache guild events (#369)
4.1.0-dev.2 #
28.08.2022
- bug: Fixup shard disconnect event
4.1.0-dev.1 #
28.08.2022
- feature: Refactor internal shard system (#368)
- feature: Event to notify change of connection status (#364)
4.1.0-dev.0 #
20.08.2022
- feature: feature: auto moderation (#353)
4.0.0 #
29.07.2022
- breaking: Fix typo in
IHttpResponseSucess
- breaking: Remove
threeDayThreadArchive
andsevenDayThreadArchive
guild features - breaking: Remove all deprecated members
- bug: Fix ratelimiting
- breaking: All calls to the API are now made via
IHttpRoute
s instead ofString
s. - Construct routes by creating an
IHttpRoute()
andadd
ingHttpRoutePart
s or by calling the helper methods on the route.
- breaking: All calls to the API are now made via
- feature: Move to Gateway & API v10
- Added the Message Content privileged intent
- feature: Add guild Audit Log options
- feature: Implement forum channels
- feature: Implement guild Welcome Screen & Channel
- feature: Add missing Audit log types
- feature: Implement guild Banners
- feature: Implement partial presences
- feature: Add missing guild properties
- feature: Add missing reaction endpoints
- feature: Handle websocket disconnections
- feature: Implement clean client shutdown
- feature: Add
limitLength
toMessageBuilder
- feature: Add paginated bans
- feature: Remove dollar prefix for identify payload (#361)
- bug: Fix mention string, and use a better approach to retrieve everyone role (#360)
- bug: Fix incorrect guild URLs
- bug: Fix incorrect file encoding
- bug: Fix member editing
- bug: Fix serialization issues
- bug: Fix uninitialized fields
4.0.0-dev.2 #
12.06.2022
- feature: Add missing emoji endpoints (#346)
- feature: Add
threadName
onIWebhook#execute()
(#348) - feature: Implement graceful shutdown (#347)
- feature: Implement forum channels (#332)
- feature: Implement Dynamic Bucket Rate Limits (#316)
- feature: Implement paginated bans (#326)
- feature: Implement missing guild properties
- bug: Fixed disconnecting user from voice
- bug: failed to edit guild members (#328)
- bug: Invalid serialization of query params (#352)
- bug: Fix some serialization bugs (#351)
4.0.0-dev.1 #
09.05.2022
- feature: Handle no internet on websocket (#321)
- bug: Remove Error form IHttpResponseError (#324)
- Fixup field names on IHttpResponseError
- Fixup IHttpResponseSuccess name
- feature: Move to API v10 (#325)
4.0.0-dev.0 #
31.03.2022
- feature: Fix target id property and add guild audit logs options (#307)
3.4.2 #
22.04.2022
- bug: Fix setting
channel
tonull
in MemberBuilder causing errors
3.4.1 #
10.04.2022
- bug: bugfix: failed to edit guild members (#328)
3.4.0 #
09.04.2022
- feature: Add
@bannerUrl()
method (#318) - feature: Implement paginated bans (#326)
3.3.1 #
30.03.2022
- bug: Fix member not being initialized in IMessage (#315)
3.3.0 #
15.03.2022
- feature: Guild emoji improvements (#305)
- Added missing properties on
IBaseGuildEmoji
. - Partial emoji can be now resolved to it's full instance with
resolve()
method - Author of emoji can be now resolved with
fetchCreator()
- Added missing properties on
- feature: Allow editing messages to remove content (#313)
- feature: Add previous state to *UpdateEvents (#311)
- bug: fix: initialize name and format values for PartialSticker (#308)
- bug: Make IHttpResponseError subclass Exception (#303)
- bug: Update documentation (#302)
3.3.0-dev.1 #
05.03.2022
- feature: Guild emoji improvements (#305)
- Added missing properties on
IBaseGuildEmoji
. - Partial emoji can be now resolved to it's full instance with
resolve()
method - Author of emoji can be now resolved with
fetchCreator()
- Added missing properties on
- bug: Make IHttpResponseError subclass Exception (#303)
- bug: Update documentation (#302)
3.3.0-dev.0 #
08.02.2022
- feature: Implement TextInput component type
3.2.7 #
08.02.2022
- bugfix: Remove noop constructor parameters. Deprecate old parameters on INyxxFactory
3.2.6 #
01.02.2022
- bugfix: Fix permission serialisation
3.2.5 #
30.01.2022
- bugfix: Serialization error with permissions on ChannelBuilder. Fixes #294
- bugfix: Fix MemberBuilder serialization json error
3.2.4 #
23.01.2022
- bugfix: Properly serialize member edit payload. Fixes #291
- bugfix: Improve shard searching mechanism. Fixes #290
- bugfix: Fix message deserialization bug with roleMentions. Fixes #289
3.2.3 #
10.01.2022
- Fixup invalid formatting of emoji in BaseGuildEmoji.formatForMessage (#286)
3.2.2 #
08.01.2022
- Fix message edit behavior (#283)
- Fix
addEmbed
behavior on message builder (#284)
3.2.1 #
01.01.2022
- Fixup bug with deserialization of new field on voice guild channel introduced in previous release
3.2.0 #
31.12.2021
- Add missing ActivityTypes (#275)
- Fix deserialization of presence update event (#277)
- Implement voice channel region (#278)
3.1.1 #
29.12.2021
- Correctly expose
builder
parameter inIMember#edit
3.1.0 #
28.12.2021
- Implement patches needed for external sharding feature (#266)
- Implement boost progress bar (#266)
- Implement timeouts (#267)
- deprecation of edit method parameters in favor of
MemberBuilder
class. In next major release all parameters exceptbuilder
andauditReason
will be removed
- deprecation of edit method parameters in favor of
- Fix incorrectly initialised onDmReceived and onSelfMention streams (#270)
3.0.1 #
21.12.2021
- Fix CliItegration plugin not working with IgnoreExceptions (#256)
- Use logger instead of print (#259)
- Fix typo in file name (#260)
- Nullable close code (#261)
- Missing ActivityBuilder (#262)
3.0.0 #
19.12.2021
- Implemented new interface-based entity model.
All concrete implementations of entities are now hidden behind interfaces which exports only behavior which is intended for end developer usage. For example: User is now not exported and its interface
IUser
is available for developers. This change shouldn't have impact of end developers. - Implemented basic plugin system for reusable framework plugins (Currently available plugins: Logging, CliIntegration, IgnoreExceptions)
INyxx now implements
IPluginManager
inteface which allows registering plugin viaregisterPlugin
. Developers can create their own plugins which can access various hooks inside INyxx instance. For now plugins system allows hooking up toonRegister
,onBotStart
andonBotStop
. - Improved cache system. Cache abstractions provided by nyxx are now compatible with
MapMixin<Snowflake, T>
SnowflakeCache
now implementsMapMixin<Snowflake, T>
and is compatibile with Map - Allowed running bot as REST only. It enables extensions that only require nyxx entities and http capabilities.
Internals of nyxx were rewritten to allow running entirely in REST mode without websocket connection. Previously similar behavior was available but wasn't working as intended.
- Implemented ITextVoiceTextChannel.
Discords beta feature
chat in voice channels
was implemented in form ofITextVoiceTextChannel
interface - Added support for Guild Scheduled Events
- Do not send auth header when it's not needed
- Added support for Dart 2.15
- Fixup message update payload deserialization
- Implement multiple files uploads. Fixes #226
- Implement missing webhook endpoints. Fixes #235
- Implement get thread member endpoint; Fixes #234
- Implement edit thread channel functionality; Fixes #247
- Fix few message update event deserialization bugs
- Fix TODOs and all analyzer issues
Other changes are initial implementation of unit and integration tests to assure correct behavior of internal framework
processes. Also added Makefile
with common commands that are run during development.
3.0.0-dev.2 #
02.12.2021
- Fixup message update payload deserialization
3.0.0-dev.1 #
02.12.2021
- Implement multiple files uploads. Fixes #226
- Implement missing webhook endpoints. Fixes #235
- Implement get thread member endpoint; Fixes #234
- Implement edit thread channel functionality; Fixes #247
- Fix few message update event deserialization bugs
- Fix TODOs and all analyzer issues
3.0.0-dev.0 #
24.11.2021
- Implemented new interface-based entity model.
All concrete implementations of entities are now hidden behind interfaces which exports only behavior which is intended for end developer usage. For example: User is now not exported and its interface
IUser
is available for developers. This change shouldn't have impact of end developers. - Implemented basic plugin system for reusable framework plugins (Currently available plugins: Logging, CliIntegration, IgnoreExceptions)
INyxx now implements
IPluginManager
inteface which allows registering plugin viaregisterPlugin
. Developers can create their own plugins which can access various hooks inside INyxx instance. For now plugins system allows hooking up toonRegister
,onBotStart
andonBotStop
. - Improved cache system. Cache abstractions provided by nyxx are now compatible with
MapMixin<Snowflake, T>
SnowflakeCache
now implementsMapMixin<Snowflake, T>
and is compatibile with Map - Allowed running bot as REST only. It enables extensions that only require nyxx entities and http capabilities.
Internals of nyxx were rewritten to allow running entirely in REST mode without websocket connection. Previously similar behavior was available but wasn't working as intended.
- Implemented ITextVoiceTextChannel.
Discords beta feature
chat in voice channels
was implemented in form ofITextVoiceTextChannel
interface - Do not send auth header when it's not needed
- Added support for Dart 2.15
Other changes are initial implementation of unit and integration tests to assure correct behavior of internal framework
processes. Also added Makefile
with common commands that are run during development.
2.1.1 #
02.11.2021
- Fix #236
- Fix #237
2.1.0 #
22.10.2021
- Add pending to member (#224)
- use case-insensitive name comparison in _registerCommandHandlers (#225)
2.0.5 #
15.10.2021
- Move to Apache 2 license
2.0.4 #
09.10_2021
- Fix #215 - invalid application url was generated with zero permissions (592c4dcc)
2.0.3 #
04.10.2021
- Fix #214 - Invalid date in embed timestamp (07d855f1)
2.0.2 #
03.10.2021
- fix deserialization of autocomplete interaction
2.0.1 #
03.10.2021
- Fix editMember function declaration
2.0.0 #
03.10.2021
Second major stable version of nyxx. Since 1.0 changed a lot - internal are completely rewritten, bots should work faster and more stable and reliable
- Implemented message components
- Reworked rate limits implementation
- Reworked sharding
- Reworked http internals. Now all raw api calls are accessible.
- Rework entity structure allowing more flexibility and partial instantiating
- Slash commands implementation
2.0.0-rc.3 #
25.04.2021
Release Candidate 2 for stable version. Requires dart sdk 2.12
- Removed
w_transport
and replaced it withhttp
package for http module and websockets fromdart:io
(18d0163, 5644937, 9b863a4, 06482f9) - Fix replacing embed field. Order of fields is now preserved (f667c2a)
- Dart2native support (1c6a4f3)
- Rewrite of internal object structure (ff8953d)
- Expose raw api call api (f297cc0)
- Add support for gateway transport compression (fd090dd)
- Moved to v8 on REST and gateway (423173d)
- Intents value is now required and added to Nyxx constructor (2b3e002)
- Added ability to configure cache (163eca9)
- Implemented stickers (16f2b79)
- Implemented inline replies (e412ec9)
- Added raw shard event stream (627f4a0)
- Fix message reaction events were not triggered when cache misses message (fedbd88)
- New utils related to slash commands (8e46b71) @HarryET
- Fixed bug where message with only files cannot be sent (1092624)
- Fixed setPresence method (fbb9c39) @One-Nub
- Added missing delete() method to IChannel (131ecc0)
- Added support for stage channels
- Added cache options for user
1.0.2 #
08.09.2020
- Fix guild embed channel deserialization
- Fix store and news channel deserialization
1.0.1 #
29.08.2020
- Fix voice state cache being not initialized properly.
1.0.0 #
24.08.2020
Stable release - breaks with previous versions - this version required Dart 2.9 stable and non-nullable experiment to be enabled to function
1.0.0
drops support for browser. Nyxx will now run only on VM
nyxx
package contains only basic functionality - everything else is getting own packagemain lib package
- Fixed errors and exceptions to be more self-explanatory
- Added new and fixed old examples. Added additional documentation, fixed code to be more idiomatic
- Logger fixes. User is now able to use their logger implementation. Or disable logging whatsover
- New internal http submodule - errors got from discord are always returned to end user. Improved ratelimits and errors hadling
- Now initial presence can be specified
- Added support for conneting to voice channel. No audio support by now tho
- Cache no longer needed for bot to function properly
- There is now difference between cached and uncached objects
- Events will provide objects if cache but also raw data received from websocket (etc. snowflakes)
- Better cache handling with better events performance
- Implemented missing API features
- Added support for sharding. Bot now spawn isolate per shard to handle incoming data
- Fixed websocket connectin issues. Now lib should reliably react to websocket errors
- Added
MemberChunkEvent
to client. Invoked when event is received on websocket. - Lib will try to properly close ws connections when process receives SIGTERM OR SIGINT.
- Added support to shutdown hooks. Code in these hooks will be run before disposing and closed shards and/or client
- Fixed and moved around docs
- New internal structure of lib
- Added extensions for
String
andint
for more convenient way to convert them toSnowflake
- Added support for gateway intents
Snowflake
objects are now ints- Implemented member search endpoints for websocket and API
- Added missing wrappers for data from discord
==
operator fixes for objects
0.30.0 #
Tue 07.02.2019
This version drops support for Dart SDK 1.x; Nyxx now only supports Dart 2.0+ including dev sdk.
Changelog can be incomplete - it's hard to track changes across few months
- Features added
- SUPPORT FOR DART 2.0+
- ADDED SUPPORT FOR VOICE via Lavalink
- PERMISSIONS OVERHAUL
- Proper permissions handling
- COMMANDS FRAMEWORK REWRITTEN
- Dispatch pipe is completely rewritten. Bot should operate about 2-8x faster
- Allowed to declare single method commands without using classes
- Added support for specify custom restrictions to commands handlers
- Classes now have to be annotated with
Module
instead ofCommand
Remainder
can now called data toList<String>
orString
- Added
Preprocessor
andPosprocessor
- Removed help system
- COMMANDS PARSER
- Allows to define simple commands handlers
- Nyxx can be now used in browser
- Many additions to
Member
andUser
classes - Changed internal library structure
- Implemented Iterable for Channel to query messages
- Added typing event per channel
- Using
v7
api endpoint - Added support for zlib compressed gateway payload
- Added endpoints for Guild, Emoji, Role, Member
- Added utils module
- Allowed to download attachments. (
Downloadable
interface) - Implemented new Discord features (Priority speaker, Slowmode)
- Added
DiscordColor
class - Added
Binder
util - Added
Cache
- Added
MessageBuilder
- Added interfaces
Downloadable
,Mentionable
,Debugable
,Disposable
,GuildEntity
- Bug fixes
- Lowered memory usage
- Websocket fixed
- Fixed Emojis comparing
- Fixed searching in Emojis unicode
- Code cleanup and style fixes
- Proper error handling for
CommandsFramework
- Gateway fixes
- Object deserializing fixes
- Memory and performance improvements
- Random null exceptions
- Emojis CDN fixes
- Few fixes for ratelimitter
- Changes
- Docs are rewritten
- Faster deserialization
- Embed builders rewritten
- Removed autosharding.
- Every object which has id is now subclass of
SnowflakeEntity
. - Snowflakes are default id entities
- Internal nyxx API changes
- Cooldown cache rewritten
- Presence sending fixes
- Title is not required for EmbedBuilder
- Removed unnecessary dependencies
0.24.0 #
Tue 03.08.2018
-
Changes
- nyxx now supports Dart 2.0
- Added Interactivity module
- Added few methods to
CommandContext
- Rewritten
CooldownCache
-
Bug fixes
- Fixed
Command
help generating error - Fixed Emojis equals operator
- Fixed
0.23.1 #
Tue 31.07.2018
- Bug fixes
- Fixed
MessageDeleteEvent
deserializing error - Fixed checking for channel nsfw for CommandsFramework
- Fixed
0.23.0 #
Mon 30.07.2018
- New features
- Support for services - DEPENDENCY INJECTION
- Support for type parsing
- Logging support
- Listener for messages for channel
- Automatic registering Services and Commands
Remainder
annotation which captures all remaining text- Permissions are now READ/WRITE - added PermissionsBuilder
- Checking for topics and if channel is nsfw for commands
- Bug fixes
- Fixed error throwing
- Text in quotes is one String
- Fixed StreamControllers to be broadcast
- Removed unnecessary fields from DMChannel and GroupDMChannel
- Big performance improvement of CommandFramework
- Fixed Permissions opcode
delay()
changed tonextMessage()
- Deprecations
- Deprecated browser target
- Removed MirrorsCommandFramework and InstanceCommandFramework
0.22.1 #
Wed 11.07.2018
- Bug fixes
- Fixed bug with sending Emoji.
toString()
now return proper representation ready to send via message
- Fixed bug with sending Emoji.
- New features
- Searching in
EmojisUnicode
is now handled by future. - toString() in
User
,Channel
,Role
now returns mention instead of content, name etc.
- Searching in
0.22.0 #
Wed 11.07.2018
- Bug fixes
- Next serialization bug fixes
- New features
- Added support for audit logs
- Searching in
EmojisUnicode
based on shortcode
0.21.5 #
Fri 09.07.2018
- Bug fixes
- Fixed embed serialization
0.21.4 #
Fri 09.07.2018
- Bug fixes
- Fixed embed serialization
0.21.3 #
Fri 08.07.2018
- Bug fixes
- Fixed embed serialization
- Added few Docs
0.21.2 #
Fri 06.07.2018
- Bug fixes
- Added overrides
- Implemented hashCode
- Fixed return type for
delay()
in Command class
0.21.1 #
Fri 06.07.2018
- Bug fixes
- Fixed constructors in MessageChannel and TextChannel
0.21.0 #
Fri 06.07.2018
- New features
- Support for sending files, attaching files in embed
- Added missing gateway events
- Replaced String ids with
Snowflake
type
- Bug fixes