Commit graph

2029 commits

Author SHA1 Message Date
Pascal
05c5bdc476
fix(StreamDispatcher): do nothing when resume is called when not paused
Fixes #2324
2018-02-19 18:17:51 +01:00
Kyra
a8172951d3 perf(Collection): Performance improvements (#2342)
* Update Collection.js

* ESLint
2018-02-16 10:19:30 +01:00
SpaceEEC
47bc0fc51e
feat(GuildChannel): add fetchInvites method (#2339)
* feat(GuildChannel): add fetchInvites method

* fix: actually use the 'channels' endpoint
2018-02-13 17:29:42 +01:00
Isabella
66c0512de2 feat(ShardClientUtil#broadcastEval): allow promise resolve (#2328) 2018-02-07 11:07:59 -05:00
Sanctuary
87e5a45659 feat(ClientOptions): add support for setting an initial presence (#2320)
* docs/feat(WebsocketOptions): Parse ws options presence

Allow the `presence` property in `WebsocketOptions` to be used the same way
as `ClientUser#setPresence`.

* Move presence options to top level
2018-02-04 21:32:45 +01:00
Snazzah
43363172c2 docs: Add TypeDef for MessageActivity (#2321) 2018-02-04 20:44:13 +01:00
Frangu Vlad
e0cbf0bb60 feature: add GuildEmoji#fetchAuthor (#2315)
* Make the base code

* Fxi lint
2018-02-02 20:34:21 +01:00
Gus Caplan
bd1bf11ed0 spotify stuff (#2314) 2018-02-02 12:45:18 -06:00
Lewdcario
234648bd2a
fix(ClientApplication): createAsset incorrectly resolving image and posting 2018-02-02 11:41:08 -06:00
SpaceEEC
016526486c enhancement(Activity): add toString method (#2313) 2018-02-01 18:41:05 -06:00
Lasse Niermann
31873eb3a5 docs(ClientUser): mark email field as user account only property (#2306)
* Store Mail - User Account Only

Added that info

* docs(ClientUser): mark email field as nullable
2018-02-01 20:29:20 +01:00
Pascal
32e2dd212e
fix: add clone methods to GuildMember and GuildMemberRoleStore
Fixes #2312
This adds clone method to both classes to achieve the expected behaviour when cloning a GuildMember, also cloning their roles store
2018-01-31 21:04:15 +01:00
Isabella
9810bdbc5f
fix(MessageEmbed): remove length checks (#2304)
* fix(MessageEmbed): remove length checks

* update error messages
2018-01-29 10:56:55 -06:00
Lewdcario
d46eec4da4
fix(resolveColor): not interpreting DEFAULT correctly 2018-01-28 22:34:50 -06:00
Lewdcario
2e0048add1
docs: doc changes 2018-01-27 23:41:25 -06:00
Lewdcario
d93d628f19
make Message#member a getter 2018-01-27 17:04:03 -06:00
Dim
10f98d8e57 use String#padStart for Role#hexColor (#2294) 2018-01-27 07:42:49 +01:00
Lewdcario
bd154bdd9e
fix: nullable activity 2018-01-25 02:06:28 -06:00
Alex
e58ff642f5 Make Util#splitMessage handle edge cases properly (#2212)
* Make Util#splitMessage handle edge cases properly

* Restart Travis

* Set maxLength to 2000 + small tweak
2018-01-24 23:41:50 -06:00
Faith
58d85282b4 Fix Destructuring Errors in Util (#2171)
* Fix Destructuring

* Fix another one
2018-01-24 17:37:41 -06:00
Lewdcario
7e0e457334
fix(ClientUser#setStatus): resetting activity
The method would pass in null if no activity was passed, so this takes the current client presence instead of deleting it.
2018-01-24 15:09:40 -06:00
Frangu Vlad
a832b56469 GuildEmoji: Move all role related functions to a separate store (#2271)
* Prepare to work on moving all role functions to a Store

And yes, this is *another* patch branch cause I messed up my master branch to hell

* Move all emoji role related functions to its own store
Tested everything and it works! (With a reload of the client)
Also had to change a value in DataStore#holds
holds.name for GuildEmojis would return the emoji name instead of the class name

* New Line

* Thanks JS for circular dependency!
Because we can't have nice things...

* Do space's request

* Fix equals

* Fix space's point.

Raw API data has the role property as an array of IDs
2018-01-24 20:47:20 +01:00
Dragon Fire
16b5de5d52 fix(Role) Update usages of highestRole#comparePositionTo to use GuildMemberRoleStore (#2289) 2018-01-24 13:34:11 +01:00
Pascal
048e147497
fix(RoleStore): create method is supposed to take an options object 2018-01-24 09:02:37 +01:00
FireController1847
92c9f8864c Specify that Client#uptime is "in milliseconds" (#2288) 2018-01-24 08:24:24 +01:00
Frangu Vlad
00172e6c7d refactor: Move member role-related functions to a special store (#2242)
* Ignore this I need a patch branch for Git

* Move all member role related stuff to a new DataStore
GuildMemberRoleStore is a new store that holds all member role related stuffs
Because its consistent!

* Minorest doc fix ever
To whoever did this object, they forgot a `{`

* Fix the spacing in the docs

* Resue the stores resolve rather than copy paste
Cause I'm dum and it overwrite resolve to the guild role stores resolve soo

* Fix some requests
- Removed the bs private functions
- Set the roles in the constructor

But, I need feedback. There is no way, that I saw, to make a member have roles whenever GuildMmber#_patch is called,
due to the roles being null on the guild. So the only way might be the for loop and getter.

* Fix an issue that I caused in #add
I was testing some other things, and changed that to test. Forgot to change it back

* Actually make the store generate just once when the member is created by first initializing the roles in the guild
Also replaces GuildMember#_roles with GuildMemberRoleStore#_roles
Tested all functions to make sure the expected result happens.

* I missed this from moving remove from GuildMember to GuildMemberRoleStore

* Fix RoleStore#create docs
For real this time

* Do all the requested changes
- Rename all `somethingRole` to `something` (hoistRole => hoist)
- Refactor add and remove to be cleaner and re-use set

* Fix a bug where the store would loose some roles due to null roles that can throw an error in the for loop after they've been deleted

* Remove the `role.id || role` part of the add and remove functions as Appel suggested

* Replace roles.resolve with roles.resolveID for GuildMemberRoleStore#remove

* Don't use Array.isArray in checks
Use instanceof instead

* Woops, I forgot to change this
Renamed colorRole to color

* The docs have dots, so we place the dots back
2018-01-24 08:12:58 +01:00
Pascal
07c48a6845
fix: require discordjserror to throw meaningful errors where necessary 2018-01-22 20:23:36 +01:00
Cat
8a2ace45d8 docs: fix VoiceBroadcast documentation (#2277) 2018-01-21 18:23:23 +01:00
Michel Nguyen
edc4e2b751 docs: fix streamdispatcher documentation (#2275)
* docs change

* fix streamdispatcher documentation

Signed-off-by: Michel Nguyen <modzongaming@gmail.com>

* fucks sake

Signed-off-by: Michel Nguyen <modzongaming@gmail.com>

* typings

Signed-off-by: Michel Nguyen <modzongaming@gmail.com>

* typings again 👀

Signed-off-by: Michel Nguyen <modzongaming@gmail.com>
2018-01-21 18:23:00 +01:00
Amish Shah
83de7c0d4c
Fix error messages 2018-01-21 15:52:32 +00:00
Amish Shah
76891a1e00
try fix 2018-01-21 10:34:14 +00:00
Amish Shah
aa09490724
whoops 2018-01-21 10:31:12 +00:00
Amish Shah
b2708a6fa8
Merge branch 'master' of https://github.com/hydrabolt/discord.js 2018-01-21 10:29:06 +00:00
Amish Shah
0e262ea8d7
More informative stream errors 2018-01-21 10:29:03 +00:00
Pascal
93e083da4f
fix(Guild): memberCount not decrementing when an uncached member leaves
This leads to GuildMemberStore#_fetchMany to always reject
because it expects more member than possible.

Also no longer call the GuildMemberRemove handler locally
to not decrement twice.
2018-01-21 07:30:59 +01:00
Kyra
986e6da196 Fix(GuildChannel#clone) options.parent not accepting (falsy) null. (#2262)
* Fixed (falsy) options not being set correctly

* Requested changes.

As a side note, I also default `options.withPermissions` for simplicity, and because it gets ignored in [`GuildChannelStore#create()`](https://discord.js.org/#/docs/main/master/class/GuildChannelStore?scrollTo=create).

* Fixed the overwrites option
2018-01-20 19:30:30 +01:00
Amish Shah
b16e6f8262
Fix VoiceBroadcast#play documentation 2018-01-20 16:57:27 +00:00
Amish Shah
f588b3fd20
Merge branch 'master' into voice-rewrite 2018-01-20 13:50:34 +00:00
Amish Shah
c63bdb5fb1
Remove redundant doc tag descriptions 2018-01-20 13:47:35 +00:00
Amish Shah
ca96e1478a
Make docs technically correct 2018-01-20 13:45:22 +00:00
Amish Shah
791740220e
Improve docs, allow for webm/opus demuxing and playing broadcasts without specifying a type 2018-01-20 13:01:48 +00:00
Amish Shah
f14193b93a
Document examples 2018-01-20 12:48:28 +00:00
Pascal
fbd25f8677
fix(GuildMember): make edit method only modify a copy of the voice state
This is to fix stale members in voice channels.
2018-01-20 12:44:27 +01:00
Pascal
a22b856494
fix(WebSocketConnection): make errors in event handlers throw again
The error from something like client.on('ready', () => undefined.f);
would just be emitted as debug event instead of being thrown.

Simply moving the emitting part out of the try catch again solves this.
2018-01-20 09:05:07 +01:00
Yukine
bf0a68dbac Mark DataStores as public to directly display them in the docs. (#2268)
* make EmojiStore not Private anymore.

because why have something private if there is priority functionality on that class? also that causes that the docs wont show it directly

* make GuildChannelStore not private anymore

because why have something private if there is priority functionality on that class? also that causes that the docs wont show it directly

* make RoleStore not private anymore

because why have something private if there is priority functionality on that class? also that causes that the docs wont show it directly

* make ReactionStore not private anymore

because why have something private if there is priority functionality on that class? also that causes that the docs wont show it directly

* make all non private to stay consistent

* fix merge conflicts because of other PRs.
2018-01-20 08:00:44 +01:00
Amish Shah
ef02bd2935
Add stubs for docs 2018-01-20 00:05:37 +00:00
Amish Shah
2b5fc77a67
Rudimentary support for unified audio playing! 🎉 2018-01-19 23:55:59 +00:00
Amish Shah
8e5e1ad8fe
Document Receiver 2018-01-19 23:03:01 +00:00
Amish Shah
c57c2889b7
Fix import errors for networking classes 2018-01-19 22:54:54 +00:00
Amish Shah
066fbfe330
Move voice UDP client and Websocket client to networking folder 2018-01-19 22:53:55 +00:00
Amish Shah
60c5c1486b
Remove dead files 2018-01-19 22:51:53 +00:00
Amish Shah
c6c9c0918a
Fix PacketHandler runtime error (EventEmitter not imported) 2018-01-19 22:51:26 +00:00
Amish Shah
cb161a8a40
Implement Receiver debug events 2018-01-19 22:47:01 +00:00
Amish Shah
83140f11b7
Fix ESLint and inline the voice readable stream 2018-01-19 22:41:31 +00:00
Amish Shah
dd618584d0
Simplify VolumeInterface constructor 2018-01-19 22:38:39 +00:00
Amish Shah
4a1b55d145
Receiver#createStream should take options 2018-01-19 22:38:10 +00:00
Amish Shah
2c1a302eea
Redesign voice receiving, still needs cleaning up 2018-01-19 21:14:03 +00:00
Amish Shah
6058ea4888
Start voice receive rewrite 2018-01-19 17:45:37 +00:00
Amish Shah
580bda46ea
Fix documentation for VoiceBroadcast (play methods return BroadcastDispatcher not StreamDispatcher) 2018-01-19 14:40:58 +00:00
Amish Shah
3b1c5d3494
Expose VoiceBroadcast#dispatcher so that the broadcast can be controlled 2018-01-19 14:39:51 +00:00
Amish Shah
e7375aa0fd
Reimplement broadcast (un)subscribe events 2018-01-19 14:32:51 +00:00
Schuyler Cebulskie
f649610c26 Merge branch 'master' into voice-rewrite 2018-01-18 19:49:23 -05:00
SpaceEEC
aa3407f705 Base Emoji class for ReactionEmoji and renamed GuildEmoji classes (#2230)
* feat: create base Emoji class for ReactionEmoji and new GuildEmoji

* rename EmojiStore to GuildEmojiStore to account for the new class' name
2018-01-18 02:38:45 -06:00
bdistin
b846cbd2b3 GuildChannel.permissionsFor(role) (#2254)
* GuildChannel.permissionsFor(role)

* 1Comp's requested changes
2018-01-18 02:28:14 -06:00
John Leuenhagen
d5b0cf9ffb Permissions improvements (#2126)
* add Permissions.toArray()

* accept Permissions objects to Permissions.missing()

* accept Permissions as parameter to Permissions.has()

* style fixes

* remove redundant line, update JSDoc for Permission.resolve()

* JSDoc, style, and checkAdmin fixes

* add Permissions.resolveToObject()

* accept PermissionResolvable to Permissions.missing()

* remove `resolveToObject`, fix constructor JSDoc

* remove redundant parameter type

* fix `Permissions.missing()`

* fix checkAdmin

* update Permissions.toArray() description

* eliminate ambiguity in Permissions.toArray() description

* add backticks to permission example

* remove irrelevant type in Permission ctor description

* use this.constructor to properly support OOP

* use simplified approach for Permissions.toArray()

* fix return type on Permissions.toArray()

* move `Permissions#toArray` to more suitable position

* bitwise approach to `Permissions#missing`

* allow `Permissions` to be iterated over

* don't checkAdmin on return array

* remove unnecessary conditional

* fix JSDoc indentation

* use simpler & more reliable approach for missing()

* update PermissionResolvable typedef
2018-01-18 02:17:50 -06:00
Artful
1db0906483 Client method examples. (#2264)
* Client method examples.

* Consistency

* As per hydras request 🙇

* Thanks kya
2018-01-18 07:47:05 +01:00
Michel Nguyen
19591b0bb1 docs: fix attachFiles() docs (#2267)
* docs change

* fix attachFiles docs

* why was this still here
2018-01-18 07:42:05 +01:00
Amish Shah
b94d60d2ab
Merge branch 'master' into voice-rewrite 2018-01-16 17:24:07 +00:00
Alex
e576387fea Fix ReactionCollector#remove and make Collector interface more consistent (#2221)
* Fix ReactionCollector#remove and make Collector interface more consistent

* Move those below the doc

* Remove object spread

* Only emit event arguments

* Forgot to delete this line

* Update docs

* Also fix this

* More edits to docs

* Snowflake|string
2018-01-16 01:33:58 +01:00
Isabella
36555c1cea refactor(GuildMember#manageable): refactored kickable and bannable (#2211)
* refactor(GuildMember#manageable): merged kickable and bannable code

* hydar suggestion
2018-01-16 01:32:40 +01:00
bdistin
4122db0275 Return undefined from Collection.find() / findKey() (#2260)
To be compliant with Array.find() / findIndex()
2018-01-16 01:24:19 +01:00
bdistin
3d32dea5e1 remove pointless function from GuildEmojisUpdate (#2256) 2018-01-16 01:20:51 +01:00
bdistin
3038d4b2c7 Address missing application docs in setPresence (#2257)
fixes #2103 according to how crawl says it should be fixed in #2104
2018-01-16 01:20:36 +01:00
bdistin
4fb7e64a39 Add parent, nsfw, bitrate, and userLimit options to GuildChannel.clone() (#2259)
* Add parent, nsfw, bitrate, and userLimit options to GuildChannel.clone()

* fix lint
2018-01-16 01:20:09 +01:00
iCrawl
f61b57ce10
Merge branch 'master' into voice-rewrite 2018-01-15 04:45:48 +01:00
pedall
42c0e50c92 Fix ShardClientUtil#broadcastEval - now really accepting functions (#2248)
* small fix to broadcastEval accepting functions

* dont ignore idea anymore (separate PR then)
2018-01-14 20:46:08 +01:00
Dim
351f5f7209 fix: missing height & width in embeds (#2249) 2018-01-14 13:28:46 +00:00
Dim
a3be0f3726 docs: Collection > RoleStore (#2251) 2018-01-14 13:28:00 +00:00
Amish Shah
83640a2640
refactor: tidier overflow checking in StreamDispatcher 2018-01-13 20:50:24 +00:00
Amish Shah
aaa318e465
Merge branch 'master' into voice-rewrite 2018-01-13 20:44:36 +00:00
Yukine
352bd13e6f fix typo in Error constants (#2243)
* fix typo in Error constants

* another one (#1)
2018-01-13 12:52:25 +00:00
Jisagi
ea028ae074 Fix destructuring errors in GuildChannelStore and RoleStore (#2244)
* Permissions#resolve fix

* Travis failed because >120 chars per line

* better fix

Permissions#resolve reverted
removed destructuring in GuildChannelStore and RoleStore
2018-01-13 12:51:09 +00:00
Amish Shah
d541cac9b3
Merge branch 'master' into voice-rewrite 2018-01-13 12:47:56 +00:00
Amish Shah
8cab673fea
fix: stream dispatcher throwing key error due to missing secretKey 2018-01-13 12:47:19 +00:00
Gus Caplan
8aafcd6cde allow passing a function to shard eval (#2193) 2018-01-12 14:05:27 +01:00
bdistin
2249da464f Fix member.ban() and channel.clone() (#2241)
* Fix member.ban()

* also fix channel.clone()

* type is an option parameter in the new create

* lint

* better fix for clone
2018-01-11 18:44:35 +00:00
Isabella
9eac19d9d8 refactor: more oop with stores (#2216)
* refactor: more oop with stores

* forgot bulk delete

* Revert "forgot bulk delete"

This reverts commit 1b4fb999ee07b358ee6e1af9efb8981b84f83af1.

* appease linter

* missed some


shh

* fail
2018-01-11 16:33:30 +00:00
Schuyler Cebulskie
da32dae8f5 Merge branch 'master' into voice-rewrite 2018-01-10 00:14:29 -05:00
bdistin
5efddac025 Fix Channel.delete() example (#2238) 2018-01-09 21:17:08 +01:00
Schuyler Cebulskie
e792757e32 Only create ShardClientUtil when spawned by ShardingManager 2018-01-08 22:13:46 -05:00
Amish Shah
096124b179
Merge branch 'master' into voice-rewrite 2018-01-05 21:24:23 +00:00
Amish Shah
eb40a663dd
god damn it i forgot to save the file the first time 2018-01-05 21:23:21 +00:00
Amish Shah
eeded90782
Fix: "value" argument is out of bounds when writing timestamp header to packet 2018-01-05 21:22:11 +00:00
SpaceEEC
2318812f7f fix: allow the Util#parseEmoji regex to match emoji identifier (#2229) 2018-01-04 20:29:32 +01:00
Alex
780a311c0a Minor refactor to Util methods (#2213)
* Minor refactor to Util methods

* Fix derp
2018-01-04 01:18:56 +01:00
1Computer1
01f1f1b58e Fix query string on requests after ratelimited (#2215)
* Fix querystring being appended multiple times when ratelimited

* Better way?

* Better better way

* Fix empty queries
2018-01-04 01:17:15 +01:00
Isabella
45127bb408 docs: improve examples (master branch) (#2209)
* docs: improve examples

* more improvements


fix


maybe this


another example


collectors

* stuff
2018-01-04 01:12:05 +01:00
Isabella
61da73fee0 GuildMember#permissionsFor takes object (#2210) 2018-01-04 01:04:19 +01:00
Gus Caplan
abb93c9eb9 fix location of toString for channels (#2202) 2018-01-04 01:01:39 +01:00
Darqam
954a1c8d1a updating channelCreate example to reflect recent changes (#2194)
* updating channelCreate example to reflect recent changes

Type is now part of the options object, so the example should reflect that.

* changing type to reason per comment
2018-01-04 01:00:39 +01:00
Amish Shah
ac7e066126
Merge branch 'master' into voice-rewrite 2018-01-03 11:28:59 +00:00
Steven
229eb2be2d Fix Collector bug where checkEnd is only called on a valid message (#2186) 2017-12-31 20:21:29 +01:00
Gus Caplan
84e4dd6a99 animated emojis (#2182) 2017-12-31 20:20:52 +01:00
Alex
59d5c5a947 Don't send files in edit request (#2199) 2017-12-31 20:19:05 +01:00
Isabella
4063a3a16b fix(Guild#createChannel): default type to 'text' (#2184)
* fix(Guild#createChannel): default type to 'text'

* gus suggestion
2017-12-23 12:29:42 +01:00
Isabella
4f8f2087c1 docs/fix(setParent): docs update and nullable channel param (#2160)
* fix(setParent): no longer in GuildChannel

* refactored

* little bit less ugly

* space/appel suggestion

* docs fix

* shhhhhhhh

* fun docs trip

* prototype thing

* mark nullable
2017-12-21 09:31:17 +01:00
Yukine
0c16859746 enchanced docs for GuildChannel (#2155)
* enchanced docs for GuildChannel

* changes due request
2017-12-21 09:30:32 +01:00
Isabella
1598efa0b8 fix(CreateMessage): reassigning wrong content (#2169) 2017-12-12 06:33:10 +01:00
bdistin
fe9ea02f8b Make all VoiceChannel bitrates in bps (#2165)
* Make all VoiceChannel bitrates in bps

instead of mixed kbps/bps

* fix edit method in GuildChannel too
2017-12-12 05:02:53 +01:00
Isabella
443961ce43 fix(CreateMessage): fix attachment and array sending (#2158) 2017-12-10 21:22:59 +01:00
Schuyler Cebulskie
96971c432d Merge master into voice-rewrite 2017-12-02 19:48:43 -05:00
Schuyler Cebulskie
20689a51a1 Add exports for new util functions 2017-12-02 17:02:17 -05:00
bdistin
3e3674b1af Fix channels.resolve (#2137) 2017-11-30 14:39:58 -05:00
Yukine
134ef7a61b added a new Typedef for Bans you can get from <Guild>.fetchBans() and fixed a little typo in the fetchAuditLogs() method (#2108)
* added a new Typedef for Bans you can get from <Guild>.fetchBans() due recent change aswell as fixed a little typo in the fetchAuditLogs() mehtod so .type has no the correct type defined

* little change due request

* fixed indentation

* Update Guild.js

* Update Guild.js
2017-11-29 23:36:03 -05:00
Schuyler Cebulskie
77fc046550 Merge branch 'custom-structures' 2017-11-29 23:27:43 -05:00
Frangu Vlad
efd1c4c516 docs: Remove leftover docstring from 11.2 (#2115)
* Fix leftover docstring from 11.2

* Here too

* Update Guild.js

* Update GuildMember.js
2017-11-26 10:59:21 +01:00
1Computer1
2f84d95077 Add more options to MessageMentions#has (#2131)
* Add more options to MessageMentions#has

* Rename ignoreSelf to ignoreDirect
2017-11-26 10:58:17 +01:00
Schuyler Cebulskie
be02875f05 I don't even 2017-11-24 23:16:21 -05:00
Schuyler Cebulskie
7cd0a9525d Fix ClientUser not extending custom User 2017-11-24 23:05:00 -05:00
bdistin
dcf48e2225 Fix inconsistency with Channel Creation: CustomStructures (#2121)
* Fix inconsistancy with Channel Creation

* Because static get is a function, it thinks we are create a new instance based on that function, rather than the returned class...
2017-11-24 22:42:02 -05:00
Schuyler Cebulskie
950e65c7f1 Merge branch 'shard-overhaul' 2017-11-24 22:36:34 -05:00
Schuyler Cebulskie
0d188c0fba Rename ShardingManager#launch event to shardCreate 2017-11-24 22:33:29 -05:00
Schuyler Cebulskie
c6244ee6e1 Fix shards not respawning on exit 2017-11-20 22:37:35 -05:00
Schuyler Cebulskie
527c729aca Possibly fix weird behaviour 2017-11-20 22:29:46 -05:00
Schuyler Cebulskie
c447abad60 Clear evals and fetches on process death 2017-11-20 22:26:14 -05:00
Schuyler Cebulskie
b5459a96fa Move ShardingManager#message event to Shard#message 2017-11-20 22:20:32 -05:00
Gus Caplan
aaa92c0b05 fix things (#2116) 2017-11-20 12:57:45 +01:00
Schuyler Cebulskie
f3817e328b JK, back to Structures.extend 2017-11-20 01:37:19 -05:00
Schuyler Cebulskie
cf07b7e342 Re-add docs 2017-11-20 01:13:36 -05:00
Schuyler Cebulskie
1e0ee2f8fa Replace Structures.extend with set 2017-11-20 01:11:19 -05:00
Schuyler Cebulskie
a2a4c3c196 Fix Presence structure 2017-11-20 00:26:57 -05:00
Schuyler Cebulskie
3728c71867 Fix missing space 2017-11-20 00:24:43 -05:00
Schuyler Cebulskie
63b0c8d5cc Fix circular dependency 2017-11-20 00:23:41 -05:00
Schuyler Cebulskie
f004e6ccca Reimplement Structures.get 2017-11-19 23:00:56 -05:00
Schuyler Cebulskie
6d53d893a8 Make Structures.extend static and tweak error messages 2017-11-19 22:46:38 -05:00
Schuyler Cebulskie
47dc8fd046 Overhaul the way structures are extended 2017-11-19 22:41:45 -05:00
Schuyler Cebulskie
dc379519d3 Fix reaction structure name 2017-11-19 22:30:37 -05:00
Schuyler Cebulskie
0291fe41d8 Fix structure paths 2017-11-19 22:09:43 -05:00
Schuyler Cebulskie
c29804e3f8 i aint do nuffin 2017-11-19 21:19:46 -05:00
Schuyler Cebulskie
cfa512c447 Make structures for data stores extensible 2017-11-19 21:16:14 -05:00
Schuyler Cebulskie
26b28813a8 Use a custom promisified setTimeout 2017-11-19 13:47:04 -05:00
Schuyler Cebulskie
acf82f32c3 Mark Shard#_exitListener as private 2017-11-19 02:31:06 -05:00
Schuyler Cebulskie
1338e9bd8e Update sharding docs some more 2017-11-19 02:30:20 -05:00
Schuyler Cebulskie
975da5f1a5 Rewrite sharding class descriptions and link Client 2017-11-19 02:21:29 -05:00
Schuyler Cebulskie
9cd097492c Update doc for ShardingManager#createShard id parameter 2017-11-19 02:06:38 -05:00
Schuyler Cebulskie
f777c19fbf Fix naming conflict with ShardingManager#respawn 2017-11-19 02:03:44 -05:00
Schuyler Cebulskie
637ea09532 Fix lint error 2017-11-19 01:56:51 -05:00
Schuyler Cebulskie
2a332d8d15 Add ShardClientUtil#respawnAll 2017-11-19 01:54:10 -05:00
Schuyler Cebulskie
a414e4884f Overhaul sharding 2017-11-19 01:28:46 -05:00
Schuyler Cebulskie
f4ac06024e Improve ColorResolvable docs 2017-11-18 23:34:34 -05:00
Schuyler Cebulskie
b859501b6f Document and clean up some garbage 2017-11-18 20:30:13 -05:00
Schuyler Cebulskie
b7c4df5dc1 Fix trailing space 2017-11-18 17:19:34 -05:00
Drahcirius
8237bc054c So long, long (#1994)
* refactor: remove long dep

* fix linter issue

* remove file extensions

* optimize methods
2017-11-17 14:37:07 +01:00
Frangu Vlad
0cd4a92fb8 docs: Fixed some missing docstrings or incorrect return types (#2093)
* Fix some missing doc strings
Mainly just readonly tags

* Return an error when guild#allowDMs is ran from a bot account, and fix some return types

* WebhookClient implements Webhook, doesn't extend it

* Fix Client#rateLimit docs not showing what it returns

Cause I wanted to handle this event only to see no return props 🤔

* Actually make Client#rateLimit show the right info

Its an object with all the info
2017-11-17 14:20:57 +01:00
SpaceEEC
6fa4fc532c fix(Shard): extend EventEmitter to be able to emit events (#2112) 2017-11-17 02:49:57 -05:00
Schuyler Cebulskie
196cf7652e Add Shard#ready property and related events 2017-11-16 22:49:38 -05:00
Will Nelson
09315ae9db emit ReactionCollector#remove on all unreactions (#2096)
* emit ReactionCollector#remove on all unreactions

this will emit an event when a user removes a collected reaction. this
is in addition to Collector#dispose, which will only fire when all users
have unreacted to the same emoji.

* emit only collected removals
2017-11-16 15:24:53 +01:00
Isabella
2d8e26c24c docs: add Guild#features type (#2105)
* docs: add Guild#features type

* fixed spacing

* make it a list, and add MORE_EMOJI
2017-11-16 15:24:27 +01:00
Isabella
5cd42695ae refactor(MessageReaction): ReactionUserStore (#2078)
* refactor(MessageReactions): fetchUsers() is now users.fetch()

made a lovely class for it and all
happify linter


stuff


i know how to code i swear


i lied

* bdistin suggestions

* space suggestions, rename store

* fix count

* documentation update
2017-11-14 08:11:44 +00:00
Yukine
62544905a0 enhanced setUserLimit to reset when passing null to stay consistent with other methods (#2083)
* added a new check to setUserLimit so it won't silently fail anymore if you put a wrong type in

* adapt spaces idea of converting null to 0

* this way it looks cleaner

* and i need to remove this

* need to do it that way because like Gus said null will not change anyhting

* space prooved me wrong and idk why ist working now
2017-11-10 01:30:13 +01:00
SpaceEEC
05a41b5ca4 fix(Split/Webhook): readd message chunk sending and fix webhook avatar/username (#2085) 2017-11-06 02:42:24 +01:00
SpaceEEC
21d09f338e fix(Guild): correctly resolve user in Guild#addMember (#2090) 2017-11-05 18:52:33 +01:00
Amish Shah
2531065bbd
Fix loop and only emit error, not warn 2017-11-04 15:02:58 +00:00
Amish Shah
6a523ba96a
Reimplement StreamDispatcher error and start event in docs, emit error instead of debug if there are listeners for errors 2017-11-03 20:01:51 +00:00
Amish Shah
8efafb6a43
StreamDispatcher documented as extending WritableStream, not stream.Writable 2017-10-31 19:50:02 +00:00
Amish Shah
995cd181c9
Fix setFEC bug and use bitrateEditable in setBitrate 2017-10-31 19:47:58 +00:00
Amish Shah
121a40bb4a
Use passes and increase highWaterMark to 12 2017-10-31 19:43:58 +00:00
Amish Shah
fa7f391b3a
Fix ECONNRESET (again) 2017-10-31 18:12:49 +00:00
Amish Shah
2e1a28a6ee
Use destroy and end in apt places 2017-10-29 18:04:36 +00:00
Amish Shah
cf30b1ef08
Add @extends to some classes 2017-10-29 17:43:22 +00:00
Gus Caplan
29a81eab73 standardize message object creation (#1986)
* standardize message object creation so i don't flip out again

* fix stuff

* Update Message.js

* Update index.js

* Update SendMessage.js

* Update Message.js
2017-10-29 14:54:00 +01:00
SpaceEEC
94a4a068b9 fix(TextBasedChannel): return a promise in startTyping and clarify count parameter (#2047)
* fix(TextBasedChannel): return a promise in startTyping

This fixes #2040

Calling TextBasedChannel#startTyping now returns a promise.
This promise resolves when the bot stops typing (TextBasedChannel#stopTyping) or rejects when an error occurs.
Calling the method again returns the same promise as long the bot is still typing.

* move code into the promise' executor

* Clarify the purpose of the returned Promise

* inverse if and clarify count parameter
2017-10-29 14:53:34 +01:00
Amish Shah
1697b13f15
Update to master 2017-10-29 13:50:49 +00:00
Amish Shah
5cb757add6
Add highWaterMark 2017-10-29 13:48:07 +00:00
Amish Shah
5879cd7c8e
Merge branch 'voice-rewrite' of https://github.com/hydrabolt/discord.js into voice-rewrite 2017-10-29 13:19:41 +00:00
Amish Shah
d4a9e5ec9c
Fix ESLint and handle stream errors 2017-10-29 13:19:38 +00:00
Sanctuary
1a8e8c7a67 docs: Add/normalize .toString() docs on all classes (#2042)
* docs: Add/normalize .toString() examples on all classes

* docs: Remove exclamation point on ClientApplication#toString example

* docs: Normalize .toString() descriptions on all classes

* Use "returns" instead of "concatenates"
2017-10-28 19:06:26 +02:00
SpaceEEC
0101392334 Documentation improvements (#2069)
* docs: fix documentation in various places

All stores: resolveID returns a nullable Snowflake
GuildAuditLogs: ActionType also can be ALL
MessageEmbed: make files property show up in the docs
ClientApplication: resetSecret and resetToken return a promise
ClientManager: status is readonly
Guild: features is an array of strings and ban no longer accepts a number or string
Guild: ban method no longer accepts a string or number
GuildMember: ^
RichPresenceAssets: small and large Image are Snowflakes, also fixed parameter documentation for small and large image url method
WebhookMessageOptions: file property is no longer a thing

* docs: improve GuildAuditLogs documentation

Prefix types with AuditLog to avoid confusion
Document GuildAuditLogs' static Targets and Actions properties and add necessary typedefs
Use typdefs over primitives where possible.

* fix documentation for Guild#defaultRole
2017-10-28 19:04:03 +02:00
SpaceEEC
a62d1e954d fix(Presence): pass client and default to offline (#2071) 2017-10-28 19:03:27 +02:00
William Tran
88719f0f42 Typos in docs (#2055)
* Typo in Guild.createRole docs

Added missing semicolon in example code.

* consistent periods in docs
2017-10-28 19:01:17 +02:00
Gus Caplan
c495ea025a fix raw event (#2074) 2017-10-28 18:58:46 +02:00
bdistin
b255af0825 Fix user.bot (#2073)
* fix user.bot

* user.avatar is nullable (docs)
2017-10-28 18:58:27 +02:00
bdistin
cda408534a user.patch shouldn't try to touch the token (#2072) 2017-10-28 18:57:50 +02:00
SpaceEEC
cd3d3344e8 fix(GuildMember#hasPermission): pass correct parameters to Permissions#has (#2070)
Also removed deprecated parameter of the method itself.
2017-10-28 18:57:16 +02:00
SpaceEEC
0a05761b49 Add new exports and remove a deprecated one (#2068)
* add new exports and remove a deprecated one

* fix incorrect require path
2017-10-28 18:55:59 +02:00
Johnson Chen
291af7e845 Change recent to timestamp because DiscordAPIError (#2065)
are lovely arn't they?
2017-10-28 11:35:38 +02:00
Will Nelson
dbf4ef9a7c handle string ffmpeg input (#2064)
* handle string ffmpeg input

* rename stuff for new purpose

* file prefix isn't needed

* pass tests

* remove dumb spaces in dispatcher docs
2017-10-27 22:42:21 +01:00
Schuyler Cebulskie
0fc9459450 Add TextChannel#setNSFW method (#2050)
* Add TextChannel#setNSFW method

* Doesn't look like anything to me

* butts
2017-10-27 10:34:18 -04:00
Gus Caplan
cd54e9317f Time Difference in REST (#2057) 2017-10-27 14:36:53 +01:00
Amish Shah
8a87cbf404
Better broadcast stuff 2017-10-27 14:32:02 +01:00
Amish Shah
a8511ebfaf
Fix player 2017-10-26 21:50:52 +01:00
Amish Shah
bdf8955098
"yeah we need voice broadcasts cause we make big big music bots" no stop 2017-10-26 21:00:53 +01:00
Gus Caplan
bc30fdd867 Fix Avatar URL generation bug (#2063) 2017-10-26 20:07:27 +01:00
Amish Shah
3696b4a810
Add ability to disable volume transform 2017-10-26 18:56:02 +01:00
Amish Shah
6490d1b911
FEC and PLP exposed 2017-10-26 18:36:04 +01:00
Amish Shah
cc4aa75a71
Fix closing bug 2017-10-26 18:22:43 +01:00
Amish Shah
387d96bd6b
Add setPLP and setFEC 2017-10-26 18:22:18 +01:00
Amish Shah
45ef80b92f
Fix docs 2017-10-26 18:05:45 +01:00
Amish Shah
eeed5f23e3
Move streams to StreamDispatcher
breaking: removed AudioPlayer#setBitrate
2017-10-26 17:53:10 +01:00
Amish Shah
a79c9ac11a
add: StreamDispatcher#pausedTime 2017-10-26 17:11:03 +01:00
Amish Shah
116b4c3788
Rename unpause to resume 2017-10-26 16:47:59 +01:00
Amish Shah
c8a75e4c29
More volume docs 2017-10-26 16:44:21 +01:00
Amish Shah
b83e12634c
Docs 2017-10-26 16:35:20 +01:00
Amish Shah
780e67d19f
Volume!! 2017-10-26 16:30:55 +01:00
Amish Shah
863e38676f
Add back setBitrate 2017-10-26 14:39:58 +01:00
Amish Shah
f6959a848f
Start some docs crap 2017-10-26 14:17:56 +01:00
Amish Shah
ac0cc9a009
Remove useless SecretKey class 2017-10-26 14:02:44 +01:00
Amish Shah
3e3e6f9af7
Actually fix ESlint this time 2017-10-26 13:45:36 +01:00
Amish Shah
8913096f73
Fix Travis by removing stuff for fun 👌👌 2017-10-26 13:42:21 +01:00
Amish Shah
53ca34cbde
Don't need to continue count and pausedTime amongst dispatchers 2017-10-26 13:33:14 +01:00
Amish Shah
f5d10a5f76
Pause/Unpause 2017-10-26 13:32:38 +01:00
Amish Shah
79c10f7084
Fix resetting timestamps 2017-10-26 12:01:04 +01:00
Amish Shah
ca93c05eee
Merge branch 'master' into voice-rewrite 2017-10-26 11:59:28 +01:00
SpaceEEC
cd08a3b5a4 refactor(Actions): remove obsolete user and guild member get actions (#2061)
The UserGetAction was never used.
The GuildMemberGetAction was only once used.
Easily replaced with a shorter and more comprehensible line. (Also consistent with the rest of the library)
2017-10-26 08:52:03 +01:00
Amish Shah
a76e4c064d
Fix sequence and timestamp growing too large 2017-10-26 00:32:14 +01:00
Amish Shah
7f90d4ebc5
Better ending 2017-10-25 23:46:05 +01:00
Amish Shah
48452173ca
probably would cause an error somewhere 2017-10-25 23:21:02 +01:00
Amish Shah
65673197d4
Start rewrite with new prism 2017-10-25 23:14:41 +01:00
Gus Caplan
0589b7d7f1 zlib stream compression (#2028) 2017-10-25 17:30:03 +01:00
Isabella
0277d1de78 fix(Client): login wasnt using env.token (#2060) 2017-10-25 17:29:36 +01:00
Gus Caplan
ee1d4c53f2 Add rateLimit event (#2019)
* add ratelimited event

* add some useful props

* death

* more death

* Update tester1000.js

* Update RequestHandler.js
2017-10-24 21:07:21 +01:00
Amish Shah
80595d9bec
Stop ESLint whining 2017-10-22 22:04:29 +01:00
Amish Shah
96ce1b0945
Update libsodium-wrappers peer dep and fix support for the newest version 2017-10-22 21:59:30 +01:00
Amish Shah
0004e19eca
Fix ESLint issue 2017-10-22 16:03:35 +01:00
Amish Shah
29d743a521
Fix #2018 (rapid joining/leaving of voice channel causes a crash) 2017-10-22 14:29:49 +01:00
SpaceEEC
356778b9d5 fix(MessageBulkDeleteAction): remove deleted messages from cache (#2046)
Fixes #2036
2017-10-22 14:51:44 +02:00
Gus Caplan
296046dbc6 remove ua manager (#2015) 2017-10-19 07:11:07 +02:00
Frangu Vlad
37f5256a04 fix(GuildChannel|Role.edit) Editing with a position not being right (#2010)
* Fix GuildChannel.edit and Role.edit for positions

* Re-use Util.setPosition
And also make it even more compact! And it works! \o/
2017-10-19 07:10:39 +02:00
Évelyne Lachance
8d7e745ee8 Patch timestamp of 0 on guild join date (#2041)
The Discord API seems to send a timestamp of 0 for the joined_at on presence updates. This patch resolves this by ignoring timestamps of 0.
2017-10-19 07:07:18 +02:00
kitsuyui
6b249ba454 Fixes #2034 (#2035)
Cancelling: https://github.com/hydrabolt/discord.js/pull/1745/files#diff-31d1bb7c08f2176ba026497c2e8d9b3fR81
2017-10-19 07:06:12 +02:00
SpaceEEC
fa3eee8fd9 fix(GuildDelete): disconnect voice and cleanup GuildChannels (#2026) 2017-10-19 07:03:02 +02:00
Gus Caplan
69d84081d3 Update Guild.js (#2027) 2017-10-19 07:02:32 +02:00
SpaceEEC
d8850dbdd8 feature(Webhook): allow to edit the channel of webhooks (#2039) 2017-10-19 07:01:20 +02:00
SpaceEEC
68a30584db refactor: remove redundant Client#rest and obsolete RESTManager#destroy (#2022) 2017-10-11 02:29:50 +02:00
Gus Caplan
d8f6198a12 fix websocket ratelimits (#2014) 2017-10-09 02:40:54 +02:00
Gus Caplan
69dcfa0708 fix Client#login from other invalid things (#2013) 2017-10-09 02:39:52 +02:00
Robin B
97823bc376 Various documentation adjustments (#2001)
* docs(various): Add "at" to createdAt description

* docs(Client): Adjust to fit with guilds property

* docs(various): Adjust phrasing & fix typos

* docs(various): Clarifications

* docs(Permissions): fix numerus

* docs(DataStore): capitalize DataStore

* docs(various): Formatting changes

* docs(Presence): Expand RichPresenceAssets docs

* Add space
2017-10-07 01:56:17 +02:00
Isabella
8fbae13040 fix(GuildAuditLogs): incorrect webhook reference (#2004)
* fix(GuildAuditLogs): incorrect webhook reference

* i cant trust my linter anymore

* use changes object
2017-10-07 01:55:53 +02:00
Frangu Vlad
f178f9ba6c fix(setPosition): rawPosition never getting updated when setPosition was called (#2006)
* Fix setPosition issue

The rawPositions were never updated from using setPosition, now they are.

* Fix bubbling issue

Also, yes. It took me 8 hours to get back home. Deal with it :D

* Watch your copy paste
2017-10-07 01:55:30 +02:00
Frangu Vlad
3871662a95 fix(setSpeaking) Fix #2005 (#2007) 2017-10-07 01:55:16 +02:00
Isabella
b462a7b94f fix(Role): setPosition typo (#2003) 2017-10-03 21:12:38 +02:00
Jack Baron
b8c70e7935 Typo in Message.awaitReactions docs (#1999) 2017-10-03 12:01:48 +02:00
Frangu Vlad
743668a10d fix: setPosition taking wrong IDs and edit with position 0 breaking (#1989)
* Fix typo in setPosition

* Same typo in Role

* Fix edit with position breaking when the position was 0

* Eslint

* Revert code but fix the position issue
2017-10-02 15:54:18 +02:00
kyraNET
b8f17aa51c [Documentation] Added a warn in fetchMentions (#1991) 2017-10-01 18:16:56 +02:00
SpaceEEC
3c0d7b8105 enhancement/feature(bulkDelete): accept array of ids and handle case of 0 or 1 message(s) (#1980) 2017-10-01 11:58:13 +02:00
Yukine
d41675c080 Export DataStore from the Discord.js module (#1981) 2017-10-01 11:57:00 +02:00
SpaceEEC
cc8060c1bd fix/feature(createChannel): add support for more properties and fix overwrites optionals (#1983) 2017-09-28 07:55:28 +02:00
SpaceEEC
1537dd7be7 fix(MessageEmbed): don't send 'files' as part of the embed (#1982) 2017-09-26 19:17:27 +02:00
Gus Caplan
27ccad1f1c tinify webpacks (#1975)
* tinify webpack

* meme

* fix long version

* more changes

* even smoler

* fix up logic

* fix build

* undo changes to user agent manager because its not webpack'd anymore

* the heck

* fix stupid

* clean up browser rules

* typo
2017-09-26 07:18:12 +02:00
Gus Caplan
4d4d2f2db7 add agent support (#1973) 2017-09-25 20:46:19 +02:00
Dim
97dc85f491 Typo (#1969) 2017-09-25 20:41:50 +02:00
Dragon Fire
82841c6ce1 Fix for a small hasPermission error (#1971) 2017-09-24 18:41:06 +02:00
bdistin
f89ec00b30 Missed a deprecated method removal (#1950)
And another that should be removed too.
2017-09-24 17:29:45 +02:00
bdistin
c2029a66e9 Rip, fixes a bug we didn't even know to look for... 1870 lives on. (#1931)
possibly fixes #1870
2017-09-24 17:24:58 +02:00
Frangu Vlad
26c978c465 docs: Small doc improvement for PermissionOverwrites (#1964)
Just so people know what the possible types are.
2017-09-24 17:23:41 +02:00
Gus Caplan
dca0bac444 fix typo in ws manager (#1966) 2017-09-23 19:13:30 +02:00
Frangu Vlad
eb591dafba docs: Fix some small typos or "missing" docs (#1943)
* Fix documentation for GuildAuditLogEntry.target

* Update documentation for CategoryChannel#children

* Add EntryTarget for audit logs

I've done this to "fulfill" devsneks request while also showing all the possible results for the target of an AuditLogEntry

* Oops Eslint

* Private timeout sets gets set by BaseClient not WebhookClient

* Fix the "Missing Docs" for Presence#activity

* Small doc inconsistency

Array<Number> instead of Array<number> for Activity

* Client#emojis is an EmojiStore not a Collection

* Document ClientPresenceStore

Just so its clickable through the wiki, nothing else is documented

* Small fix for BaseClient#setInterval

You don't wait before executing, you execute every X ms

* GuildChannelResolvable takes a GuildChannel/Snowflake

* Typo in UserResolvable

* Another typo for UserResolvable

* Add the number to the Status and VoiceStatus docs

Its probably not needed, but just so the user knows what each number means, its now documented.
2017-09-21 07:02:47 +02:00
SpaceEEC
3ace61a179 fix(ClientManager): reject login with proper error on timeout or on connection failure (#1947) 2017-09-16 20:32:03 +02:00
SpaceEEC
ec4c98704f refactor: make use of destructuring for Constants (#1942) 2017-09-16 20:31:36 +02:00
SpaceEEC
25ece1882b fix(Reactions): make MessageRection#id again null for default emojis (#1940)
Which was causing issues when resolving their identifier and MessageRection#id was also stated as nullable Snowflake, which a unicode not is
2017-09-14 12:36:08 +02:00
bdistin
64cbb98fb3 Channel permissionLock support (syncing with category permissions) (#1924)
* add permissionsLocked

* wip permissionLock()

* should be good

* better method name

* see if this fixes channel jumping

* fix property names

* each overwrite is a different instance, and thus the pointers do not equal, even if the values do.

* add more documentation to the edit method
2017-09-11 19:33:30 +02:00
Raphael
18389c7659 fixed small typo's in the Docs and added an example to <Guild>.setSystemChannel() (#1934) 2017-09-11 19:33:04 +02:00
SpaceEEC
cc0b65d70b fix(EmojiStore): return super.create in the create method (#1932) 2017-09-11 01:20:55 +02:00
bdistin
29b4ca7f23 Fixes #1929 (#1930) 2017-09-10 18:13:28 +02:00
bdistin
98b81fac38 fix permissions not resolving correctly (#1928) 2017-09-10 16:27:04 +01:00
Frangu Vlad
3767b35189 Fix check for GuildChannel#deletable (#1925)
You can now delete any channel you want, even if its ID is the same as the guild ID
2017-09-10 14:25:33 +02:00
Robin B
fc1e78e545 fix(DataStore): make resolveID work properly (#1927) 2017-09-10 14:21:08 +02:00
Drahcirius
63f6247ce5 fix/feat(MessageEmbed): deep copy fields and fix files when passed into constructor (#1864) 2017-09-09 23:43:13 +02:00
Gus Caplan
c523e224d7 fix sorting things (#1922)
* fix sorting things

* Update Guild.js
2017-09-09 23:43:02 +02:00
Gus Caplan
f4c2d6dfa2 fix a thing (#1921) 2017-09-09 22:55:26 +02:00
Gus Caplan
2ffe3048ba clean up positions (#1919)
* clean up positions

* perf i guess
2017-09-09 22:40:32 +02:00
bdistin
98582cd1b7 Permissions Cleanup (#1643)
* fix Permissions.add/remove, by completely changing what they do

* permissions cleanup

Removes overwrite._denied and overwrite._allowed in favor of overwrite.denied.bitfield and overwrite.allowed.bitfield

uses the modified Permissions.add and Permissions.remove to clean up existing code

fixes GuildMember.missingPermissions

changes Permissions add/remove to reverse loops for speed, changes resolve to allow the number 0 as a valid permission.

* Revert createChannel overwrite.allow / overwrite.deny for arrays of {allow:bitfield, deny:bitfield}

Documentation should be improved here, although I would need advice. I believe a overwrite object typedef is needed, to show the structure of the object, and also include that collections may be used for this, rather than arrays.

* api router fix for overwritePermissions

* add Permissions.freeze, and change all returned Permissions to immutable instances

* Make Permissions a permission resolveable

change role.permissions to be an instance of Permissions

* Make permissions.add/remove return a new instance if the instance is frozen

* Fix invalid error

* Update GuildChannel.js

* Update Guild.js

* fix bad merge
2017-09-09 22:07:39 +02:00
bdistin
b3e5f6271c More docs stragglers I didn't see (DataStore cleanup) (#1912)
* travis can see more than I can

* Update PresenceStore.js

* should fix missing parent travis message
2017-09-09 20:20:19 +02:00
Frangu Vlad
5b46ae59bd Fix some documentation about the category channels (#1917)
* Document CategoryChannel

* More fixes

* Sorry Crawl

* createChannel can return CategoryChannel

* Did senks requests

* I can't grammar

* Other snek request
2017-09-09 20:18:41 +02:00
Gus Caplan
c46c092d0d add channel categories (#1727)
* add channel categories

* add specific class

* speed

* Update Channel.js

* fix type typo

* Update Channel.js

* rewrite position stuff in prep for category sorting

* fix small issues in generation of permissions

* Update Guild.js

* Update Constants.js

* Update GuildChannel.js

* doc fix

* Update GuildChannel.js

* <.<
2017-09-09 14:11:54 +02:00
bdistin
ac4b2b3193 Fix GuildMember being undefined (#1915)
* GuildMember being undefined

* tested... not even a circular.
2017-09-09 14:10:57 +02:00
Dragon Fire
30757cc97b Fix for emojis not being an EmojiStore (#1916)
* Fix for emojis

* Proper fix
2017-09-09 14:10:27 +02:00
Dragon Fire
4626bca76f Fix resolveID typo in guild.unban (#1913) 2017-09-09 01:45:03 +02:00
bdistin
4748577194 Fix DataStore cleanup docs (#1911)
* fix RoleStore Docs

* fix ChannelStore docs

* fix GuildChannelStore docs

* fix GuildStore docs

* fix MessageStore docs

* fix ReactionStore docs
2017-09-09 00:16:43 +02:00
Gus Caplan
67c239b33f update webhook cache and message cache stuff (#1910) 2017-09-08 23:19:30 +02:00
bdistin
dd085ceaee Datastore cleanup (#1892)
* 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
2017-09-08 23:06:10 +02:00
Isabella
0607720ec8 docs: improve documentation (#1898)
* improve channel documentation

* forgot some stuff

* another one

* im good at this

* i did a dum
2017-09-08 02:01:35 +02:00
Robin B
41c4999c2b fix(Guild): Fix setChannelPositions method (#1900) 2017-09-08 00:50:28 +02:00
SpaceEEC
e34bd7c09c fix(Errors): throw DiscordjsErrors where one would expect them (#1905) 2017-09-08 00:50:01 +02:00
Robin B
d6b276bc29 refactor(Attachment): Merge MessageAttachment with Attachment (#1894)
* refactor(Attachment): Merge MessageAttachment with Attachment

* refactor(Attachment): Rename setup to _patch for consistency

* refactor(MessageAttachment): Global rename of Attachment class
2017-09-06 23:12:20 +02:00
SpaceEEC
694f78cd43 fix(WebhookClient): use applyToClass instead of multiple inheritance (#1896) 2017-09-06 23:11:40 +02:00
iCrawl
2305311ec1
fix: voice websocket sending 2017-09-06 16:38:42 +02:00
Gus Caplan
675e1eccb1 Separate websocket internals for RPC (#1893)
* websocket centralization

* more centralization

* whoops

* Update WebSocket.js
2017-09-06 07:20:10 +01:00
Amish Shah
f95ae4fcb7
Fix userUpdate not triggering for initial setting (or removal) of avatars (#1849) 2017-09-05 19:44:59 +01:00
Amish Shah
99419a3670
Fix #1310 (strip RTP header extensions) 2017-09-05 19:14:54 +01:00
iCrawl
a8df63ad1a
docs: collection first, firstKey, last, lastKey
"count is negative" -> "amount is negative"
2017-09-05 18:04:18 +02:00
Amish Shah
4a8ada9c43
Fix ESLint error 2017-09-05 12:02:21 +01:00
Amish Shah
e686c9a816
Fix userUpdate event 2017-09-05 11:52:17 +01:00
Robin B
e5ac8f34ee Collections: Negative amounts and fixes (#1889)
* feat(Collection): Negative amounts plus fixes and refactor

* fix(Collection): Fix result when supplying false boolean as amount
2017-09-05 11:31:33 +01:00
Amish Shah
37d84b14f8
Re-add VoiceChannel#members and messageUpdate to the documentation 2017-09-05 11:16:56 +01:00
SpaceEEC
87fa74acd4 ClientUserGuildSettings: avoid uncaught exception and a bit of refactoring (#1885)
* refactor(ClientUserGuildSettings): make client first parameter of the constructor

* refactor(ClientUserChannelOverride): patch if possible rather then reinstantiating every update

* fix(ClientUserGuildSettings): avoid uncaught exception when patching newly joined guilds/gdms
2017-09-05 02:40:46 +02:00
SpaceEEC
bb4fe256e0 fix(Client): apply shardId and shardCount to the correct options object (#1888) 2017-09-05 02:40:22 +02:00
Gus Caplan
18e3801bb7 lots of important stuff (#1883)
* lots of important stuff

* Update Constants.js
2017-09-04 17:49:44 +02:00
Cynthia Lin
3a503ef56e Fix code inconsistencies and redundancy in util/Collections.js. (#1884)
* Normalize undefined type checks in collections with typeof operators.

* Remove redundant number type checking in collections.

Number.isInteger() throws false for strings and any other types that aren't numbers.
2017-09-04 17:45:58 +02:00
Amish Shah
2e4de62ddf Potentially fix #1870? 2017-09-04 14:14:11 +01:00