Commit graph

1876 commits

Author SHA1 Message Date
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
Robin B
ea1949a0e2 fix(MessageStore): Fix fetchPinned method and add notice. (#1881) 2017-09-04 05:26:36 +02:00
SpaceEEC
f40a5e9f88 feature(MessageReaction): add after option when fetching users who reacted with an emoji (#1882) 2017-09-04 05:22:01 +02:00
SpaceEEC
c4b5736a16 refactor/fix(DataStores): move instantiating of store related classes into their date stores (#1869)
* refactor/fix(DataStores): move instantiating of store related classes into the relevant create methods and fixed FetchMemberOptions

* Renamed ChannelStore's constructor parameter for claritiy

* define client property before creating items from passed iterable to avoid the client property being undefined

* Fix fetching members with a limit

* add static Channel#create back and moved channel instantiating there

* make ChannelStore's constructor accept an iterable

* make iterable an optional parameter, allow to just pass client and options

* fixed a little typo in docs of <User>.displayAvatarURL() (#1872)

* Rewrite presence a little bit (#1853)

* such presence many good

* Update PresenceStore.js

* Update index.js

* Update ClientPresenceStore.js

* Update Presence.js

* Update ClientPresenceStore.js

* Update ClientUser.js

* Update Presence.js

* add timestamps and party

* Update Presence.js

* Update PresenceStore.js

* Update ClientPresenceStore.js

* Update ClientPresenceStore.js

* fix: made options.type optional in ClientUser#setActivity (#1875)

* fix: made options.type optional in ClientUser#setActivity

* some changes, smol fix

due to too many types being possible, it should just be defaulted to 0. this means streamers will have to set the type manually, though.
also mistake with activity.name check

* docs(Collection): Adjust exists documentation (#1876)

Since the return value of Collection#exists is basically just a boolean of Collection#find's result, the same documentation and arguments can and should be applied.

* refactor(Emoji): remove Guild#deleteEmoji in favour of Emoji#delete (#1877)

* refactor/fix(DataStores): move instantiating of store related classes into the relevant create methods and fixed FetchMemberOptions

* Renamed ChannelStore's constructor parameter for claritiy

* define client property before creating items from passed iterable to avoid the client property being undefined

* Fix fetching members with a limit

* add static Channel#create back and moved channel instantiating there

* make ChannelStore's constructor accept an iterable

* make iterable an optional parameter, allow to just pass client and options

* rebase, this time with saving the file

* address issue with falsy activity throwing errors when setting client's presence
2017-09-03 12:57:49 +02:00
SpaceEEC
c93c4ad21f refactor(Emoji): remove Guild#deleteEmoji in favour of Emoji#delete (#1877) 2017-09-03 12:01:47 +02:00
Robin B
efbde07650 docs(Collection): Adjust exists documentation (#1876)
Since the return value of Collection#exists is basically just a boolean of Collection#find's result, the same documentation and arguments can and should be applied.
2017-09-03 12:00:36 +02:00
Isabella
39013b1242 fix: made options.type optional in ClientUser#setActivity (#1875)
* fix: made options.type optional in ClientUser#setActivity

* some changes, smol fix

due to too many types being possible, it should just be defaulted to 0. this means streamers will have to set the type manually, though.
also mistake with activity.name check
2017-09-03 12:00:11 +02:00
Gus Caplan
c4df2502ec Rewrite presence a little bit (#1853)
* such presence many good

* Update PresenceStore.js

* Update index.js

* Update ClientPresenceStore.js

* Update Presence.js

* Update ClientPresenceStore.js

* Update ClientUser.js

* Update Presence.js

* add timestamps and party

* Update Presence.js

* Update PresenceStore.js

* Update ClientPresenceStore.js

* Update ClientPresenceStore.js
2017-09-02 23:57:02 +01:00
Raphael
765b652e6a fixed a little typo in docs of <User>.displayAvatarURL() (#1872) 2017-09-02 14:56:49 +02:00
SpaceEEC
1bdaa62481 fix(Guild): passing the constructor partial data from an invite no longer errors (#1868) 2017-09-01 16:05:02 +02:00
Isabella
b8a37b6f0c fix removal of Guild#afk/system channels and icon (#1863)
* fix removal of Guild#afk/system channels

* guild#setIcon too

* less ternary, many wow
2017-09-01 07:33:41 +02:00
Frangu Vlad
434a22dc4e MessageOptions can take content (#1861) 2017-08-31 18:27:58 +02:00
Amish Shah
7f921883f4
Fix TextChannel#createWebhook 2017-08-31 15:55:05 +01:00
Frangu Vlad
7b6190da01 Fix documentations that were incorrect or missing (#1837)
* Fix docs for Guild#pruneMembers

* ClientApplication returns

* Guild#deleteEmoji

* Guild#setRolePosition takes RoleResolvable

* Client#fetchApplication returns ClientApplication not Oauth2Application

* ClientDataResolver#resolveImage can return null

* ClientApplication#toString small example

* Guild#allowDMs now has a only for user accounts warning

* ClientUserSettings#patch is private and setGuildPosition has a user account warning

* Role#setPermissions can take PermissionResolvable, not just String

* ChannelCreationOverwrites is for a role or a member, not for a "group"

* Fix ChannelData#userlimit string being wrong
"The user limit of voice the channel" :lul:

* ChannelResolvable is only for Channel or Snowflake

* EmojiIdentifierResolvable supports Snowflakes

* UserResolvable doesn't take a guild

* Make patch functions private

* Remove examples

* Webhoox#edit options.name defaults to the webhook name

* Make VoiceConnection functions private

* Am dum
The whole ClientUserSettings category is only for self bots soo

* Value for update functions is *

* Make update functions be private

* Fix GuildEditData missing Ssytemchannel property

* PermissionOverwriteOptions can accept null as an option
(Why did no-one document this?)
2017-08-31 09:16:27 +02:00
Amish Shah
5121a02f13
Fix #1854 2017-08-30 12:33:01 +01:00
Amish Shah
eb5ba4e45e
Fix #1855 2017-08-30 12:20:32 +01:00
SpaceEEC
4e028d713a Fixing MessageReaction#count always being 1 (#1857) 2017-08-30 13:01:27 +02:00
SpaceEEC
b7c55f02c2 Allow Message#edit to accept a MessageEmbed as options parameter (#1844) 2017-08-28 03:05:34 +02:00
SpaceEEC
65d9d46a3c Fixed DataStore, deprecation leftovers and a bit of Event Constants (#1841)
* Fixed leftover fetchThing and removed unused methods/error messages

* Added resume event constant and used event constants wherever possible

* Replaced mentions of removed method name with their new name.

* Fixed typo: resume -> resumed
2017-08-28 00:11:28 +02:00
SpaceEEC
c4fecf6609 Simplified image resolving and used an options object when creating webhooks (#1843) 2017-08-28 00:11:19 +02:00
SpaceEEC
258fc4ecf3 Fix MessageMentions#has not returning true for role mentions (#1840) 2017-08-27 23:51:15 +02:00
iCrawl
3c532f16bc
Remove unused Util require 2017-08-26 16:12:18 +02:00
Amish Shah
4f5cbbc0f0
Merge branch 'master' of https://github.com/hydrabolt/discord.js 2017-08-26 13:51:56 +01:00
Amish Shah
7d750c4680
pass on error 2017-08-26 13:51:53 +01:00
Gus Caplan
d792c6764a ChannelStore LRU (#1832) 2017-08-26 13:48:31 +01:00
Amish Shah
92a52460e1
Fix GuildMemberStore docs 2017-08-26 13:47:26 +01:00
Amish Shah
30dd3e0cff
Fix #1684 2017-08-26 13:43:13 +01:00
Amish Shah
51fe80fd11
fix fetching all members 2017-08-26 13:08:54 +01:00
Amish Shah
c3d7c73e47
Add GuildMemberStore#fetch 2017-08-26 13:00:36 +01:00
Frangu Vlad
284f4e8ac0 Fix MessageEmbed copy paste (#1834)
The addField function wouldn't have errored if value wasn't a string
2017-08-26 10:03:44 +01:00
BigBrainAFK
86ffdc38d3 Mark video property as readonly (#1833) 2017-08-26 10:00:33 +01:00
Amish Shah
170f687d81
actually fix that delete thing (#1507) 2017-08-26 00:08:12 +01:00
Amish Shah
5a3b59b4b0
Fix #1685 2017-08-25 23:57:29 +01:00
Amish Shah
84153be894
Fix #1281 2017-08-25 23:41:26 +01:00
Amish Shah
5f694d1149
Make resolve types stricter
- UserResolvable no longer allows a guild
- ChannelResolvable no longer allows a message or a guild
- ChannelResolvable no longer allows a message or a guild
2017-08-25 23:10:05 +01:00
Isabella
fbb1253b3f Added resolveImage to reduce code duplication (#1820)
* add client#resolveImage

* oops

* resolveFile fix

* async is the future

* async

* update doc example

* build fix

* doc fix

* fix docs

* thx hydar
2017-08-25 22:17:38 +02:00
Amish Shah
b8315b79c7 Store and Model Refactor (#1618)
* UserStore refactor

* Create ChannelStore, remove redundant methods in ClientDataManager

* Create GuildStore

* Emoji stuff

* Use a Base class where possible to reduce code duplication

* Remove unnecessary comments from ChannelStore

* Add Base._clone();

* Remove unused ClientDataManager methods

* Refactor some more stuff

* ESLint

* Move Client#fetchUser to client.users.fetch

* Remove .has checks and just see if .get is truthy

* Fix guild member chunk error

* ESLint

* Fix typo

* Fix channel storing for user bots

* Remove ClientDataManager

* GuildChannelStore

* Reduce use of Util.cloneObject

* and this one too

* update typings

* Fix MessageUpdate handling (#1507)

* Fix role updates (probably fixes #1525)

* fix for eslint

* Address some of appell's comments

* Use debug constant

* start message store crap if it's ugly tell me later k

* fix that

* message store but works™️

* clean up guild stuff

* clean up channel store stuff

* clean up channel event handling

* does this message stuff work? find out soon in the next episode of dIsCoRd.Js

* eslint

* emojis

* emojis and reactions

* hi my name is eslint and im A LIL SHIT

* so i forgot this huh

* user stuff

* Fix @class

* Fix message stuff

* Fix user store docs

* Document all the bases

* fix the super things

* tidy up remove

* fix textbasedchannel

* fix that too

* fix emoji store

* make voice state stuff less ugly

* make voice states even less ugly

* make members less bad

* fix bug

* fix that too

* fix reactions

* how was this broken for so long

* role store

* remove super._patch from UserConnection

* Rename UserProfile#setup to _patch

* remove unnecessary super calls

* update docgen dep (pls fix travis thx)

* doc messagestore

* fix docs

* message store docs

* things

* DOCS PLS

* more things

* Document TextBasedChannel#messages as a MessageStore

* Rebase

* All the stores!
2017-08-25 21:08:58 +01:00
iCrawl
243ff48a67
Remove unneeded doc string 2017-08-24 00:36:13 +02:00
Gus Caplan
b055dae998 make webpack over 9000 times better (#1816)
* webpack stuff

* even better

* Update browser.js
2017-08-22 19:55:28 +02:00
Isabella
4520c801d3 update attachment & docs (#1815) 2017-08-21 23:11:58 +02:00
Isabella
0c0ec72cb8 Fix Guild#createRole with position (#1720)
* Fix Guild#createRole with position + validation

* remove position validation, small update

* fixed async issue if position provided
2017-08-20 23:36:22 +02:00
Will Nelson
2c763073d7 add capture groups to MessageMentions and validate snowflake ranges (#1612)
* add capture groups

* update patterns to valid snowflake ranges
2017-08-20 23:26:13 +02:00
bdistin
9c2e3b8978 Pass the collection of X collected in collectors (#1594)
...to the filter function.
2017-08-20 23:13:08 +02:00
Gus Caplan
8b8a365e99 fix ratelimits (#1806) 2017-08-20 10:14:38 +02:00
Gus Caplan
8c855855cd Guild/systemchannel (#1799)
* add cool system channel

* Update Guild.js

* Update Guild.js

* Update Guild.js
2017-08-20 05:15:02 +02:00
Gus Caplan
55543754b9 proper fix for #1685 (#1805)
* Update WebSocketConnection.js

* Update WebSocketConnection.js

* Update WebSocketConnection.js

* Update RESTManager.js
2017-08-20 05:14:49 +02:00
Gus Caplan
9b97fe292f Remove partial classes (#1794)
* remove partial objects

* remove partial evil

* Update Invite.js

* Update Invite.js
2017-08-17 20:49:41 +02:00
iCrawl
2aa2f73c74 Docs cleanup 2017-08-17 20:04:01 +02:00
Gus Caplan
5ce0def9d0 fix sync (#1792)
* Update Ready.js

* Update ClientDataManager.js
2017-08-17 18:28:01 +02:00
Gus Caplan
23d42d7e22 permissions rename :3 (#1788)
* permissions rename :3

* Update Permissions.js

* Update TextChannel.js

* Update GuildChannel.js
2017-08-17 18:27:50 +02:00
SpaceEEC
e677543c30 Allow to set the new game types via ClientUser#setPresence and ClientUser#setGame (#1782)
* Allow to set the new game types via ClientUser#setPresence and setGame

* Accept string version of types, fix options parameter, remove Presence#streaming

* One line if statement, don't reuse data.game when game is already reassigned and fix error message

* Removed redundant if statement
2017-08-17 18:27:32 +02:00
Gus Caplan
6065fe1f8c update image sizes, adding some more (#1781) 2017-08-15 21:55:07 +02:00
Gus Caplan
71f2cc10f1 add cover image (#1780)
* add cover image

* Update ClientApplication.js
2017-08-15 21:54:09 +02:00
Gus Caplan
57977b063e channel stuff (#1775)
* channel stuff

* abstract channel creation

* Update Channel.js

* Update Channel.js

* Update Channel.js

* Update Guild.js

* Update Constants.js

* e
2017-08-13 13:57:25 +02:00