* fix(MessageEmbed): Add skipValidation flag to MessageEmbed
* fix(MessageEmbed): Use skipValidation flag in Message
* fix(MessageEmbed): Restore static normalizeField(s) methods
* fix(MessageEmbed): Update typings for constructor
* fix(MessageEmbed): Remove private docstrings/typings
* fix(MessageEmbed): Use skipValidation without storing in instance
* fix(MessageEmbed): skipValidation without modifying normalizeFields
* fix(MessageEmbed): Revert indentation change in typings
* fix(MessageEmbed): Clone logic from normalizeFields (duplicated code ftw)
* revert(MessageEmbed): remove dead code / breaking change
- dead code
discord.js does not use those methods interally and won't in the future, as Discord
does not emit any partial embed updates and doing so in the future seems unlikely.
- a breaking change (an incompatible api change)
Although it's not recommended to do, users can modify
received embeds without cloning them, e.g.:
const embed = message.embeds[0].addField('some title', '');
(replace '' with some function call; this is just an example)
This would no longer throw a synchronous error (breaking change),
but at a later point when actually sending it. (poorer to debug)
Co-authored-by: SpaceEEC <spaceeec@yahoo.com>
* Initial commit: add 5 initial managers
- Base manager
- GuildChannelManager
- MessageManager
- PresenceManager
- Reaction Manager
- Added LimitedCollection
* Add GuildEmojiManager, various fixes
* Modify some managers and add guildmembermanager
* Initial integration
* Delete old stores
* Integration part two, removed LRUCollection
- Most of the integration has been finished
- TODO typings
- Removed LRUCollection, needless sweeping
* Typings + stuff i somehow missed in ChannelManager
* LimitedCollection typings/ final changes
* Various jsdoc and syntactical fixes, Removed Util.mixin()
* tslint fix
* Grammatical and logical changes
* Delete temporary file placed by mistake
* Grammatical changes
* Add missing type
* Update jsdoc examples
* fix: ChannelManager#remove should call cache#delete not cache#remove
* fix recursive require
* Fix missed cache in util
* fix: more missed cache
* Remove accidental _fetchMany change from #3645
* fix: use .cache.delete() over .remove()
* fix: missing cache in ReactionCollector
* fix: missed cache in client
* fix: members is a collection not a manager
Co-Authored-By: Sugden <28943913+NotSugden@users.noreply.github.com>
* fix: various docs and cache fixes
* fix: missed cache
* fix: missing _roles
* Final testing and debugging
* LimitedCollection: return the Collection instead of undefined on .set
* Add cache to BaseManager in typings
* Commit fixes i forgot to stage yesterday
* Update invite events
* Account for new commit
* fix: MessageReactionRemoveAll should call .cache.clear()
* fix: add .cache at various places, correct return type
* docs: remove mentions of 'store'
* Add extra documented properties to typings
Co-authored-by: Sugden <28943913+NotSugden@users.noreply.github.com>
Co-authored-by: SpaceEEC <spaceeec@yahoo.com>
* src: Update channel pattern
* src: Remove useless non-capture group
* src: it's as though we're starting fresh
* src: Bring this up to date for reals now
* src: typings and a bug fix
* src: Add crossposted channels to message mentions
* src: Requested changes and add typings
* src: Move Object.keys outside loop
* typings: Fix enum being exported when it shouldn't
* src: Consistency with roles and users
* docs: Correct docstring for MessageFlags#flags
* docs: Correct docstring for MessageMentions#crosspostedChannels
* docs: Suggestions
Co-authored-by: SpaceEEC
* src: Reset flags to 0 if no flags are received on MESSAGE_UPDATE
* docs: document constructors of extendible structures
* docs(ClientPresence): document default value for data parameter
Co-Authored-By: SpaceEEC <spaceeec@yahoo.com>
* docs(Presence): document default value for data parameter
Co-Authored-By: SpaceEEC <spaceeec@yahoo.com>
* docs(DMChannel): capitalize DM in the constructor doc
* edit shouldn't remove content
If undefined is passed to the api, content isn't removed in such a case where you are only editing the embed.
* fix a related doc string
* update typings
* requested changes
* Remove GroupDMChannels
they sparked no joy
* Start partials for message deletion
* MessageUpdate partials
* Add partials as an opt-in client option
* Add fetch() to Message
* Message.author should never be undefined
* Fix channels being the wrong type
* Allow fetching channels
* Refactor and add reaction add partials
* Reaction remove partials
* Check for emoji first
* fix message fetching
janky
* User partials in audit logs
* refactor overwrite code
* guild member partials
* partials as a whitelist
* document GuildMember#fetch
* fix: check whether a structure is a partial, not whether cache is true
* typings: Updated for latest commit (#3075)
* partials: fix messageUpdate behaviour (now "old" message can be partial)
* partials: add warnings and docs
* partials: add partials to index.yml
* partials: tighten "partial" definitions
* partials: fix embed-only messages counting as partials
* Rework createMessage
- MessageAttachment is now structurally similar to FileOptions
- No longer mutates the object passed as options
- Supports more permutations of arguments
* Ignore complexity warning
* Refactor name finding
* Fix typo
* Update typings
* Default name to null for MessageAttachment
* Make Message#reply use transformOptions
* Move transformOptions
* Fix Message#reply
* Fix mutation
* Update tests
* Fix options passing
* Refactor into APIMessage
* Fix webhook send
* Expose APIMessage
* Add documentation
* Add types
* Fix type doc
* Fix another type doc
* Fix another another type doc (is this one even right!?)
* Remove trailing comma
* Properly clone split options
* Add support for sending file as stream
* Missed a doc
* Resolve files only once when splitting messages
* This looks nicer
* Assign directly
* Don't cache data and files
* Missing return type
* Use object spread instead Object.assign
* Document constructors
* Crawl is a little dot
* comp pls
* tests: sanitize local file path, disable no-await-in-loop
* [WIP] Remove user bots
* more backend userbot removal
* Add mfaEnabled back
* revert client presences store removal
* partially revert getAuth changes
* remove more no longer used children of ClientUserGuildSettings
* fix a bug with this pr and TextBasedChannel.applyToClass
* remove a syncGuilds reference
* more user bot data handling
* various guildSync cleanup
* bots can't call logout
Had the user/bot portions of the code mixed up. Though, does this need to be a promise anymore?
* make ClientManager#destroy() sync
It nolonger needs to be a promise, and nothing depended on it being a promise that I can tell.
* requested change
* Fix massive error
* no longer used as it's userbot only
* Start Store cleanup
* wip store cleanup
* fix iterables initiating datastores
* handle the possibility of a datastore with no holds and no its own 'create' method
* more cleanup (instances that need more than just client/data)
* missed RoleStore extras
* not sure how eslint didn't catch that tab...
* avoid re-getting the channel we already have...
* cleanup resolvers and refactor them into DataStores
* ^
* and remove
* fix some bugs
* fix lint
* fix documentation maybe?
* formatting
* fix presences
* really fix presences this time
* bad fix was bad... let;s see how bad this one is..
* forgot to save a file
* make presence resolving take userresolveables too
* fix tabs in jsdocs
* fix bad fix from last night that caused issues, with better fix...
* oops