Commit Graph

234 Commits

Author SHA1 Message Date
Sugden
c4c6ad4a63 docs/typings(WSEvents): add missing, remove duplicated and userbot events (#3800)
- Added `MESSAGE_REACTION_REMOVE_ALL`
- Remove duplicated `VOICE_STATE_UPDATE`
- Remove userbot `USER_SETTINGS_UPDATE`
2020-02-17 14:15:59 +01:00
Vlad Frangu
46ee06b424 feat(Message): add support for flag editing / embed suppression (#3674) 2020-02-16 19:36:10 +01:00
Sugden
6770c7c786 typings: add invite events to WSEventType and constants (#3782)
* fix event typings

* add ws events to jsdoc
2020-02-13 22:46:46 +01:00
Sugden
149f72b50b typings(GuildMemberManager): fetch with no parameters returns collection (#3773) 2020-02-12 18:40:20 +01:00
BorgerKing
bbdbc4cfa7 feat: remove datastores and implement Managers (#3696)
* 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>
2020-02-11 20:21:07 +01:00
didinele
fe7df708e4 typings: add HTTPOptions#api and export Constants as a value (#3768)
* fix(typings): Export Constants correctly

* fix(typings): HTTPOptions#api was missing

* fix some odd indent

* add semi to make CI happy uwu
2020-02-07 18:46:03 +01:00
Vlad Frangu
b4e56d3e0e src: fix up WebSocketShard errors (#3722)
* 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
2020-02-02 11:12:58 +01:00
BorgerKing
030d263a9e feat(MessageReaction): add remove method and Client#messageReactionRemoveEmoji (#3723)
* 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>
2020-01-25 20:00:53 +01:00
BorgerKing
929ff9ccd0 feat(Client): add support for INVITE_CREATE and INVITE_DELETE events (#3720)
* 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
2020-01-24 16:38:26 +01:00
Sugden
c779fe3670 feat(Guild): add fetchBan method (#3726)
* Add error for not resolving ID to fetch ban

* Add Guild#fetchBan

* add missing !

* typings

* lint fixes

* add jsdoc description
2020-01-24 15:29:53 +01:00
Sugden
877577badc typings(RichPresenceAssets): *ImageURL's options are optional (#3727) 2020-01-20 22:02:02 +01:00
BorgerKing
cbb8db3058 feat(Collectors): make collectors auto-stop when relevant structures are deleted (#3632)
* Collectors: make Collectors automatically stop when Channel, Guild, or Message are deleted.

* fix potential error with DM collectors

* Message collectors dont have a `this.message` you dummy

* Fix(various): nitpicks, documentation, typings, and stray error

* Pleasing mr tslint

* fix: typings

* Grammatical fixes

Co-Authored-By: SpaceEEC <spaceeec@yahoo.com>

* Fixing the linting after space's suggestions

* docs(ReactionCollector): remove whitespace

Co-authored-by: SpaceEEC <spaceeec@yahoo.com>
2020-01-19 11:24:55 +01:00
Gryffon Bellish
69c79a4136 typings/docs(GuildEmoji): id isn't nullable (#3694)
* Fix: GuildEmoji#id isn't nullable

* Move ID to be alphabetical

* Add JSDoc to say it's not nullable

* fix linting
2020-01-17 20:11:14 +01:00
Gryffon Bellish
75fe1faf2f Remove BroadcastAudioPlayer from typings (#3692) 2020-01-13 22:45:58 +00:00
SpaceEEC
ee0b7c155a feat(Presence): add support for multiple activities (#3661)
* 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>
2020-01-13 20:28:29 +00:00
Vlad Frangu
c23cc7a42e src: Cleanup event listeners on WebSocket connections (#3681)
* 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
2020-01-13 18:53:07 +00:00
Ayyan Lewis
45cd58b68c types(VoiceBroadcast): add subscribers property (#3677)
* types(VoiceBroadcast): add subscribers property

* types(VoiceBroadcast): change player property to private

Co-Authored-By: Amish Shah <amishshah.2k@gmail.com>

Co-authored-by: Amish Shah <amishshah.2k@gmail.com>
2020-01-13 17:01:16 +00:00
Antonio Román
62afafdbe9 typings: Fixed build error (#3689) 2020-01-13 16:48:49 +01:00
Tenpi
8014ddcd1c feat: dynamic property for ImageURLOptions (#3530)
* Added dynamic property to ImageURLOptions

* fixes

* order

* typings fix

* made dynamic false by default

* add curly spaces
2020-01-13 14:32:29 +00:00
SpaceEEC
b5825c33b0 feat(Speaking): add PRIORITY_SPEAKING bit (#3680) 2020-01-13 13:58:40 +00:00
didinele
f74ae12d6a fix(typings): remove VoiceChannel#connection (#3676) 2020-01-11 20:42:01 +01:00
Saya
a53d86579b typings(BaseClient): remove delay parameter from setImmediate (#3667)
There is no delay parameter on setImmediate in Node.JS docs:
https://nodejs.org/docs/latest-v12.x/api/timers.html#timers_setimmediate_callback_args
2020-01-09 23:14:55 +01:00
izexi
6af0da1043 feat(Partials): add DMChannel/MessageReaction#fetch() and PartialTypes.REACTION (#3474)
* add DMChannel#fetch() & Action#getChannel({recipients})

* ref for MessageReaction partial

* typings

* add PartialTypes.REACTION

* accommodate for fully removed reactions

* fix incorrect wording and typo

* typings: MessageReaction#count is nullable

* typings: mark MessageReaction#partial as readonly

Co-Authored-By: Vlad Frangu <kingdgrizzle@gmail.com>

* fix(User): fetch dm channel if cached one is partial

* docs: add missing comma

Co-Authored-By: Antonio Román <kyradiscord@gmail.com>

* fix: accomodate for new reactions

* fix: updating existing/new count on _patch

* docs: typo

* for consistency

Co-authored-by: Vlad Frangu <kingdgrizzle@gmail.com>
Co-authored-by: SpaceEEC <spaceeec@yahoo.com>
Co-authored-by: Antonio Román <kyradiscord@gmail.com>
2020-01-05 16:45:49 +01:00
Jyguy
155b682f6c typings(GuildEmoji): make url not-nullable (#3656)
* typings(GuildEmoji): make url not-nullable

* make GuildEmoji.url readonly
2020-01-04 23:23:01 +01:00
Cadence Fish
c734979ad4 typings(ShardingManager): add options.shardList (#3657) 2020-01-03 13:53:27 +01:00
SpaceEEC
ea76a56639 feat(Webhook): add type property and created* getters (#3585)
* feat(Webhook): add created* getters

* feat(Webhook): add type property

* typings(WebhookFields): use primitive string for url getter

Co-Authored-By: Gryffon Bellish <owenbellish@gmail.com>

* fix(Webhook): token can be null

Co-authored-by: Gryffon Bellish <owenbellish@gmail.com>
2019-12-27 19:27:34 +01:00
SpaceEEC
fc27ce1a15 typings(Bitfield): add hasParams to toArray, fix serialize's type (#3579)
* typings(Bitfield): add hasParams to toArray, fix serialize's type

* fix: apply suggested changes

* chore: remove incorrect whitespace

* fix: make params optional

* nit: pluralize bit in Permissions#missing

* nit: group non-static methods together
2019-12-27 19:26:41 +01:00
Antonio Román
b4f00bfb6b feat: widen GuildResolvable to include more structures (#3512)
* 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>
2019-12-21 21:28:09 +01:00
ottomated
f578cce9ac feat(Guild): add systemChannelFlags (#3559)
* Add systemChannelFlags bitfield to Guild

* Implement @vladfrangu's suggestions

* fix: apply suggestions, reverse order of flags, reword docs

* docs: add SystemCHannelFlagsResolvable typedef

Co-authored-by: SpaceEEC <spaceeec@yahoo.com>
2019-12-21 21:27:14 +01:00
Charlie
e13b3f550d typings: TextChannel.topic & NewsChannel.topic should be nullable (#3628)
* Fix GuildChannel#topic to be optional

* Update typings/index.d.ts

Implement the suggested change from optional to null return

Co-Authored-By: izexi <43889168+izexi@users.noreply.github.com>

* Update typings/index.d.ts

Implement the suggested change from optional to null return

Co-Authored-By: izexi <43889168+izexi@users.noreply.github.com>

Co-authored-by: izexi <43889168+izexi@users.noreply.github.com>
2019-12-21 21:12:35 +01:00
SpaceEEC
7d74e7e419 typings(Extendable): add missing channels (#3581) 2019-12-20 11:58:46 +01:00
Vlad Frangu
5519d6fbaa src: sharding cleanup and checkReady rewrite (#3393)
* 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
2019-12-15 20:45:27 +01:00
Gryffon Bellish
f56b442e83 typings(Bitfield): use IterableIterator instead of Iterator (#3599) 2019-12-15 20:26:09 +01:00
izexi
43782839ec feat: add new MessageFlags.FLAGS & User#system (#3603)
* feat: add new FLAGS

* feat: add system property

* typings: add User#system & new MessageFlagsStrings
2019-12-15 20:23:06 +01:00
Carter
330d5db586 feat(Webhook): addition of Webhook#avatarURL function (#3625)
* feat: addition of Webhook#avatarURL

* typings: added Webhook#avatarURL

* fix: trailing space

* docs: fixed jsdoc function description

* fix: typo
2019-12-15 20:20:15 +01:00
Jeroen Claassens
2ca74d6b63 feat(Activity): support for CUSTOM_STATUS activity type (#3353)
* feat: support for custom status in activity

* nit(typings): order properties
2019-12-05 13:13:42 +01:00
Jyguy
cbde819b6a typings(GuildAuditLogsFetchOptions): specify concrete type of 'type' property (#3586) 2019-11-20 00:21:47 +01:00
Gryffon Bellish
d39f17925d fix(Invite): fix valueOf returning undefined (#3582)
* Update Invite.js

* Fix typings

* Fix ESLint errors
2019-11-19 21:54:35 +01:00
Carter
1bcc0c2e1d feat(GuildAuditLogs): add new event types (#3584)
* 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
2019-11-19 21:51:26 +01:00
matthewfripp
38d370fb18 feat(MessageAttachment): add spoiler property (#3561)
* feat(MessageAttachment): add spoiler property

* typings

* Implement suggestions

* Make readonly

Co-Authored-By: Antonio Román <kyradiscord@gmail.com>
2019-11-04 14:44:36 +01:00
Purpzie
99466a99ed typings(Util): use StringResolvable (fixes old pull) (#3556)
Fixes my extremely old pull #3212 that didn't actually update the typing (Didn't know at the time.)
2019-11-04 11:33:42 +01:00
Alexander Kashev
16db92ede8 typings(GuildEmoji): restore deletable, remove inherited property deleted (#3543)
* Typings: restore deletable on GuildEmoji

* Remove inherited property "deleted"
2019-10-18 13:06:34 +02:00
Antonio Román
a61cfc3004 docs: VoiceStateUpdate always sends an instance of VoiceState (#3537)
* docs: VoiceStateUpdate always sends the old

* typings: Update definition for voiceStateUpdate event
2019-10-18 11:32:19 +02:00
Alexander Kashev
ca1bd61f4f typings(Emoji): remove deletable, add deleted, mark nullable props (#3542) 2019-10-18 11:30:49 +02:00
Tenpi
79133b4d5e at(typings): partial Types (#3493)
* test

* test 2

* update

* update

* replaced double quotes

* Made message.guild and message.member nullable

* replaced double quotes again (oops)

* missing semicolons

* removed fetch from Omit

* Added Partialize generic type

* Created interfaces (prettier intellisense)

* joinedAt/joinedTimestamp are nullable and fixed conflict
2019-10-12 00:52:00 +02:00
Antonio Román
a60f8b3d49 src(constants): add missing APIErrors (#3531)
* src: Updated APIErrors

* typings: Updated constants
2019-10-11 11:01:16 +02:00
izexi
a8f06f251f feat(VoiceState): add VoiceState#streaming (#3521)
* feat: add VoiceState#streaming

* typings: add VoiceState#streaming
2019-10-04 16:44:35 +02:00
izexi
3458693748 typings: mark GuildMember#nickname as nullable (#3516) 2019-10-04 11:19:46 +02:00
Souji
e936f071c0 fix(typings): GuildChannel#parentID is nullable (#3508) 2019-10-02 14:26:42 +02:00
Vlad Frangu
a4f06bdffd src: support new message fields (#3388)
* 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
2019-10-01 11:01:55 +02:00