* feat(DataResolver): prefer streams over buffers
* feat(DataResolver): add `resolveFileAsBuffer`
Add `resolveFileAsBuffer` to use it in `resolveImage` which still requires Buffers to work.
* fix(DataResolver): make sure `resolveFile` always returns a Promise
* refactor(DataResolver): use for-await-of
* fix(DataResolver): use forked form-data which supports custom streams
* fix(APIRequest): use forked form-data in code too
Co-authored-by: - <5144598+-@users.noreply.github.com>
Co-authored-by: SpaceEEC <spaceeec@yahoo.com>
* docs(RoleManager) : fix jsdoc everyone role can't be null
It fixes the jsdoc of RoleManager ; the everyone role of a guild can't be null
* Everyone role can't be null
* fix(typings): mark RoleManager#everyone as non-null
Co-authored-by: Crawl <icrawltogo@gmail.com>
Co-authored-by: SpaceEEC <spaceeec@yahoo.com>
* docs(MessageManager): document return type of delete
* docs(MessageManager): use Promise<void> over Promise
Co-Authored-By: Papaia <43409674+ItsPapaia@users.noreply.github.com>
Co-authored-by: Papaia <43409674+ItsPapaia@users.noreply.github.com>
* docs(MessageMentionTypes): correct type
* docs(MessageMentionTypes): change role to roles
* docs(MessageMentionOptions): correct description to allow usage as an array
* remove unneeded part of description
Co-Authored-By: Ryan Munro <rsm999@uowmail.edu.au>
* docs: add DisableMentionType to remove literal string types
Co-authored-by: Ryan Munro <rsm999@uowmail.edu.au>
* feat(Allowed Mentions): Add support for new Allowed Mentions message options
* fix(docs): Update JSDoc for feature
* fix(apimessage): translate the propery into snake_case
* fix(typings): message mention options should be optional
* fix(docs): jsdoc typings for MessageMentionOptions
* fix(mentions): use Resolvables for MessageMentionOptions
* fix(docs): typedef for MessageMentionTypes
* Update typings/index.d.ts
Co-Authored-By: Sugden <28943913+NotSugden@users.noreply.github.com>
* fix(mentions): drop support for Resolvables
* fix(AllowedMentions): remove the whole resolve function
* fix(docs): revert change to Resolvables
Co-authored-by: Sugden <28943913+NotSugden@users.noreply.github.com>
* (docs) Fixed phrasing of docs
Added permission needed to edit a member's voice state and adjusted docs to say **"Disconnect"** instead of **"Kicking"** the member.
* fixed line length on 156
* feat(types): union type for Channels
* feat(Types): union for TextBasedChannelTypes
* fix(Types): use new union types in return values
* Update typings/index.d.ts
Co-Authored-By: Sugden <28943913+NotSugden@users.noreply.github.com>
* Update typings/index.d.ts
Co-Authored-By: Sugden <28943913+NotSugden@users.noreply.github.com>
* fix(Types): various minor improvements for Partials
* fix(GuildChannel): partial should return false
Co-authored-by: Sugden <28943913+NotSugden@users.noreply.github.com>
Co-authored-by: Crawl <icrawltogo@gmail.com>
* fix(GuildMemberRoleManager): type error should mention that Role or Snowflake are fine too
* fix(GuildMemberRoleManager): comma instead of 'or'
* style: break long line
* 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>
* Fixed createShard() to show an example!
* docs(ShardingManager): clarify createdShard docs
* docs(Shard): clarify manager parameter
* docs(ShardingManager): use an info tag for createShard's param
Co-Authored-By: Sugden <28943913+NotSugden@users.noreply.github.com>
Co-authored-by: SpaceEEC <spaceeec@yahoo.com>
Co-authored-by: Sugden <28943913+NotSugden@users.noreply.github.com>
* User input sanitation: reimplement disableEveryone into disableMentions
* Change default value of ClientOptions#disableMentions to 'none'
* Update type declarations of disableMentions to include default
* update for compliance with ESLint
* Overlooked these files. Updated for complete compliance with ESLint
* feat: add options.withPresences to fetch()
feat: update presences if present on received data
typings: add user & withPresences to FetchMembersOptions
fix: checking for added options
ref: qol changes to return type
so that all members are fetched
oopsie
* fix: use Manager.cache
* fix(typings): tslint error
Co-authored-by: Crawl <icrawltogo@gmail.com>
* cleanup(StreamDispatcher): remove old 'end' event
* fix(StreamDispatcher): only listen to finish event once
* refactor(VoiceWebSocket): use `connection.client` in favour of `connection.voiceManager.client`
* fix(VoiceWebSocket): use `client.clearInterval` in favour of `clearInterval`
* refactor: destructure EventEmitter
* refactor: destructure EventEmitter from events
* refactor: use EventEmitter.off in favour of EventEmitter.removeListener
* style: order typings alphabetically
* oops
* fix indent
* style: alphabetically organize imports
* style: remove extra line
* Revert "style: remove extra line"
This reverts commit 96e182ed69cfba159ef69aba1d0b218002af67c6.
* Revert "style: alphabetically organize imports"
This reverts commit 02aee9b06d991731d08d552cf661c5e01343ec6a.
* Revert "refactor: destructure EventEmitter from events"
This reverts commit 9953b4d267b183e12dee52b284ce7188d67381f6.
* Revert "refactor: destructure EventEmitter"
This reverts commit 930d7751ab2ee902c8a80559ae9976f67ef6efb0.
* Revert "fix(StreamDispatcher): only listen to finish event once"
This reverts commit 485a6430a804aba7368e105e9f8bd0c093d7491d.
* refactor: use .removeListener instead of .off
* add ClientOptions#disableMentions and MessageOptions#disableMentions
* provide tests
* don't sanitize controlled mentions
* add @here mentions to tests
* fix indents (6 spaces instead of 8)
* add Util#cleanContent tests
* add typings for removeMentions
* replace @ with @\u200b AFTER cleaning content as suggested instead of using removeMentions
* better explanation of this option
* no newline in Util.removeMentions
* fix long line
* remove double space
* remove comments (change has been reverted)
* Use Util.removeMentions to remove mentions
* use Util.removeMentions in Util.cleanContent
* Add GuildEmoji to GuildResolvable
* Add GuildEmoji to GuildResolvable
* Add Invite to GuildResolvable
* Add Invite to GuildResolvable
* oops
* oops x2
* Add Guild#fetchBan and an error for not resolving the ID
* typings
* Revert "Add Guild#fetchBan and an error for not resolving the ID"
This reverts commit a4d0ed16e788beb18074cfc6f0cc72f27c325d56.
* Revert "typings"
This reverts commit 5a54e88785f5284b49ab96263134bfebb05df4e0.
* fix jsdoc
* add trailing comma
* feat/fix(GuildAuditLogs): handle new event types
* fix(GuildAuditLogsEntry): coerce to numbers, simplify extra for deleted entities
* fix(GuildAuditLogsEntry): do not revert 'type' extra
* typings(MessageEmebd): fix typings for addFields
* fix: add missing semicolon
* docs(MessageEmbed): fix various types
* in accordance with the scope of the PR
* Update src/structures/MessageEmbed.js
Co-Authored-By: SpaceEEC <spaceeec@yahoo.com>
Co-authored-by: SpaceEEC <spaceeec@yahoo.com>
- Change GuildEditData#systemChannelFlags to use SystemChannelFlagsResolvable
- Move SystemChannelFlagsResolvable outside of class definition to make the docs generator happy
* feat: splice multiple fields
* remove MessageEmbed#spliceField
* add MessageEmbed#spliceFields
* to behave more like Array#splice
* and allow multiple fields to be replaced/inserted
* update typings accordingly
* refactor: rename check to normalize
* check suggests boolean return type
* feat: allow spread args or array as field input
* rewrite: replace addField in favor of addFields
* typings: account for changes
* chore: bump min node to 11.0.0
* for Array#flat
* fix: bump min-node in package engines field
* remove addBlankField
* update message after fetching if it is partial
* suggested changes
Co-Authored-By: SpaceEEC <spaceeec@yahoo.com>
Co-authored-by: SpaceEEC <spaceeec@yahoo.com>
* docs: Clarify what zlib-sync does
* docs: Update docs site welcome
* src/docs: Remove `ws.compress` from docs
This is a deprecated parameter and you shouldn't use it unless you have zlib-sync installed, and even then, compression is automatically enabled
* docs: Apply suggestion
Co-Authored-By: Sugden <28943913+NotSugden@users.noreply.github.com>
Co-authored-by: Sugden <28943913+NotSugden@users.noreply.github.com>