* fix(Message): #system not all nonzero message types are system
* feat(Message): introduce system message types
* refactor(Constants): change SystemMessageTypes to be exclusionary
* fix(Constants): only need to check if type exists
Co-authored-by: Jan <66554238+Vaporox@users.noreply.github.com>
* fix(Constants): lint
* fix(Typings): add SystemMessageTypees to Constants
Co-authored-by: Jan <66554238+Vaporox@users.noreply.github.com>
* feat(Message): remove reply functionality
* feat(InlineReplies): add INLINE_REPLY constant/typing
* feat(InlineReplies): add Message#replyReference property
* feat(InlineReplies): add typings for sending inline replies
* feat(InlineReplies): provide support for inline-replying to messages
* feat(Message): add referencedMessage getter
* fix: check that Message#reference is defined in referencedMessage
* refactor(InlineReplies): rename property, rework Message resolution
* docs: update jsdoc for inline replies
* feat(Message): inline reply method
* fix(ApiMessage): finish renaming replyTo
* fix: jsdocs for Message#referencedMessage
Co-authored-by: Tristan Guichaoua <33934311+tguichaoua@users.noreply.github.com>
* fix: restore reply typings
* fix: dont pass channel_id to API when replying
* chore: update jsdocs
* chore: more jsdoc updates
* feat(AllowedMentions): add typings for replied_user
* fix: naming conventions
* fix(Message): referenced_message is null, not undefined
* fix(MessageMentionOptions): repliedUser should be optional
* chore: get this back to the right state
* fix(ApiMessage): pass allowed_mentions when replying without content
* fix(ApiMessage): prevent mutation of client options
Co-authored-by: almostSouji <timoqueezle@gmail.com>
Co-authored-by: Tristan Guichaoua <33934311+tguichaoua@users.noreply.github.com>
* 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>