* 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>
* BaseManager#valueOf should return cache
* Update Util#flatten to handle valueOf being a Collection
* Update Util.js - typo
Co-Authored-By: Amish Shah <amishshah.2k@gmail.com>
Co-authored-by: Amish Shah <amishshah.2k@gmail.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: Fix up WebSocketShard errors
* typings: Forgot to update
* src: Forgot debug variable
* src: Fix issue Bella found
If the WS was not connected when the HELLO timeout passes
(CONNECTING, etc), the shard would get stuck
due to never rejecting the WebSocketShard#connect
Promise with the DESTROYED event
* Add support for MessageReaction#remove and MESSAGE_REACTION_REMOVE_EMOJI
* Remove reaction from cache
Co-Authored-By: matthewfripp <50251454+matthewfripp@users.noreply.github.com>
* fix: message may be partial
* Clarify what the event entails
* Document client in MessageReaction
Co-Authored-By: SpaceEEC <spaceeec@yahoo.com>
* await the REST call
* Add MessageReaction#remove to typings
Co-authored-by: matthewfripp <50251454+matthewfripp@users.noreply.github.com>
Co-authored-by: SpaceEEC <spaceeec@yahoo.com>
* Add support for new Invite events
* Merge typings for events
Co-Authored-By: Sugden <leoaustin675@gmail.com>
* Add warning about requiring permissions
* Null check channel and guild
* fix: .guilds not .channels
* docs(MessageMentions): channels are actually in order
* docs(MessageMentions): readd info about order for channels
* docs(MessageMentions): reword info to account for rtl locales
* feat(Presence): add support for multiple activites
* typings(Presence): fix spelling of 'activities'
Co-Authored-By: Amish Shah <amishshah.2k@gmail.com>
Co-authored-by: Amish Shah <amishshah.2k@gmail.com>
* src: Cleanup event listeners on WebSocket connections
Should prevent #3641 from happening, as well as double connections on a shard
* typings: Forgot to add the method
* fix(BitField): remove for..in in favor of Object.keys
* refactor: do not re-resolve bits
Co-Authored-By: bdistin <bdistin@gmail.com>
Co-authored-by: bdistin <bdistin@gmail.com>
* feat: Widen GuildResolvable to include GuildChannel and GuildMember
* docs: Documented the new overloads
Co-Authored-By: Gryffon Bellish <owenbellish@gmail.com>
Co-authored-by: Gryffon Bellish <owenbellish@gmail.com>
* src: Step 1 of who knows how many
* src: Remove accidentally committed test file
* src: Remove useless added property in package.json
* docs: Trailing spaces, come back >.>
* src: Buhbye uws, we will miss you..not!
* src: Move 'auto' shard selection from totalShardCount to shards
* src: tweak
* src: Filter out floats from shard IDs
You want half of a shard or what?
* src: Misc cleanup and bugfix for GUILD_BAN_ADD
* src: Rewrite checkReady
* src: Misse this while merging master into my branch
* typings: Bring these up to date
* typings: Forgot allReady event
* src: Don't checkReady if the shard isn't waiting for guilds
* src: Fix a possible bug for when the ws dies and the session becomes -1
* src: Hopefully fix last edge case that could case a shard to infinitely boot loop
* src: Rename totalShardCount to shardCount
* src: Small bugfix
* src: Correct error message for shardCount being imvalid
Co-Authored-By: bdistin <bdistin@gmail.com>
* src: Small tweaks
* src: If this doesn't fix the issues I'm gonna throw a brick at my PC
* src: I swear, STOP BREAKING
* src: *groans at a certain snake*
* src: Use undefined instead of null on destroy in close event
Setting it to null sets the close code to null, which causes a WebSocket error to be thrown. The error is thrown from WebSocket, although there is no connection alive. Fun times!
* src: @SpaceEEC's requested changes
* src: Remove zucc from discord.js
Discord is removing support for it, sooo... Bye bye
* src: Missed this
* src: Apply @kyranet's suggestions
Co-Authored-By: Antonio Román <kyradiscord@gmail.com>
* src: @kyranet's suggestions
* src: Remove pako, update debug messages
- Pako is officially gone from both enviroments
Install zlib-sync on node.js if you want it
- Improve a few debug messages some more
- Discover that internal sharding works in browsers but please don't do that
* Start/Stop speaking using incomming UDP packets
* Fix ESLint errors
* Updates for styling consistency
Co-Authored-By: Gryffon Bellish <owenbellish@gmail.com>
* Minor improvements
* Acutally use previousTimeout
* Use BaseClient setTimeout and refresh()
* Update README to match node version for refresh()
* Update comment to match startSpeaking
* Correctly report Priority bit
* Fix ESlint errors
* Added Store and NewsChannel to exports
Added the StoreChannel and NewsChannel structures to the module exports.
* keeping the list in alphabetical order
I moved the StoreChannel and NewsChannel exports that I added in the last commit in their right position to keep things alphabetized.
* adds more audit-log entries
this adds additional audit-log types from https://discordapp/discord-api-docs/pull/1191
* typings for new audit-log entries
* typings for new audit-log entries
* fix action numbers
* 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
* Use external collection package
* Complete typings
* Document properly base collection class
* Add clone since sort is now in-place
* Update for latest changes to package
* Fix whitespace
* Update docs link
* Oops
* Update Collection.js
* Update index.d.ts
* add Util.parseVerification()
* Made the code much cleaner.
* Removed method and created constant.
* Lint!
* refactor(constants): capitalize VerficiationLevels and add a typedef
* Changed VerificationLevels typedef to singular.
Co-Authored-By: Will Nelson <will@wnelson.xyz>
* Add new method Permissions#any
* Update src/util/BitField.js
This is much better
Co-Authored-By: bdistin <bdistin@gmail.com>
* Remove unreachable code
* Gotta keep the linter happy
* Apply bdistin suggested change to both methods
* added DARK_MODE_INVISIBLE
added another constant color that makes embeds appear invisible on DARK mode.
* travis likes trailing commas
* fix: ref issue: #3414
* fix: removed a random color
* Small changes to parseEmoji regex
I just made a small change to the parseEmoji regex, this change will make an invalid emoji, like `<aname:id>` return as null, before this change it would return as an animated emoji because the name started with an `a` which would result in false positives, then the `?` I added to the end of `(\d{17,19})?` is used if someone provided an emoji as `:name:` or `a:name:` it will return the correct values but have an invalid id.
* Update Util.js
2nd Update: I changed the regex to output the results if you provide `<aemoji:123456789012345678>` and <:aemoji:123456789012345678>` which will output `{ animated: false, name: "aemoji", id: "123456789012345678" }` or `<:emojiname:>` which outputs `{ animated: false, name: "emojiname", id: null }` or `<a:emoji:>` which would output `{ animated: true, name: "emoji", id: null }`. Before this PR the method would return that the emoji was animated if you provided something like `<anemojiname:emoji_id>` because the name started with an `a`.
* Making Util.splitMessage always return an array
Util.splitMessage sometimes returns an array, but other times it returns a string. This should make it so that it always returns an array.
* jsdoc
Co-Authored-By: TNThacker2015 <37024464+TNThacker2015@users.noreply.github.com>
* docs(Util): remove superfluous space in docstring
* wip refactor
* add escapeMarkdown tests
* italics can be done with a single underscore too
* more refined
* fix test name
* unnecessary eslint ignores
* use jest
* make eslint less annoying in this test file
* more testing
* fix lib usage
* more tests and a small fix
* Implement idle feature
* Add typings
* Minimal fixes
* Make everything in Collector and not attached to ReactionCollector
* set this._idletimeout to null when collector ends
* also set this._timeout to null when collector ends
* basic teams support
* export Team & TeamMember
* use typedef
* typings and some fixes
* Update src/structures/TeamMember.js
Co-Authored-By: Vlad Frangu <kingdgrizzle@gmail.com>
* fix Team#iconURL()
* fix typings and a bug
* fix states start at 1
* team icon hash can be null
* fix owner typings
* Update TextChannel.js
Update `setRateLimitPerUser` description to specify the `number` is in seconds, per the Discord docs
* Update TextChannel.js
Add unit to the rateLimitPerUser property
* Update GuildChannel.js
* Update StreamDispatcher.js
Specify unit for `StreamDispatcher.pausedTime`