Commit graph

382 commits

Author SHA1 Message Date
Amish Shah
045153584a redo the client user presence stuff 2016-09-27 17:57:47 +01:00
Schuyler Cebulskie
e5a987e0ef Add client shard eval/client property fetching, and improve existing shard stuff 2016-09-27 02:19:53 -04:00
Schuyler Cebulskie
4fe30aa4d3 Rip out client sharding logic into its own class 2016-09-26 23:23:56 -04:00
Schuyler Cebulskie
36f4df2931 Capitalise two letters 2016-09-26 23:18:39 -04:00
Gus Caplan
c8761d72de add guild emoji methods (#742)
* add guild emoji methods

* run docs

* crawl pointed out some things about the docs, so i fixed

* actually run the docs on the changes 🤦
2016-09-26 21:39:07 +01:00
Gus Caplan
b4f3575335 i am facepalming so hard right now (#740) 2016-09-26 03:55:54 -07:00
Amish Shah
f1cb39a319 Expose Presence and Game structures 2016-09-25 20:17:35 +01:00
Amish Shah
534d7af8c3 Fix resuming sessions (fixes #699) 2016-09-25 15:03:54 +01:00
Amish Shah
03651fd6e3 Change how presences are handled 2016-09-25 14:16:03 +01:00
Amish Shah
0e8f1bef97 Stop comparing for equality on update events and just emit for performance 2016-09-25 11:24:02 +01:00
Gus Caplan
c8636fd277 fix heartbeat (#737) 2016-09-24 23:56:18 -07:00
Amish Shah
aef0b83c34 comply to the latest rate limit stuff (hammerandchisel/discord-api-docs#108) 2016-09-24 18:19:18 +01:00
Gus Caplan
bd1449bc5a make login sane (#735) 2016-09-24 17:55:31 +01:00
Schuyler Cebulskie
d9bc5cea1e Small cleanups 2016-09-24 02:43:27 -04:00
Schuyler Cebulskie
d62551bea2 Remove old code 2016-09-24 02:20:48 -04:00
Schuyler Cebulskie
1008f601f4 Add shard client prop fetching, remove guild count fetching, improve eval 2016-09-24 02:12:45 -04:00
Schuyler Cebulskie
e4f416ae6c Add shard eval, broadcastEval, and fix fetchGuildCount response 2016-09-24 01:21:41 -04:00
Gus Caplan
063be5cee2 smarter sharding™ (#732) 2016-09-23 21:43:16 +01:00
Schuyler Cebulskie
4bf6ad30f3 Remove a line 2016-09-22 23:10:00 -04:00
Schuyler Cebulskie
3fa4ff13e3 Add ShardingManager.fetchGuildCount 2016-09-22 22:48:21 -04:00
Gus Caplan
15d7f8e2fe Add Guild#prune (#723)
* make all changes neat

* run docs build
2016-09-21 15:57:14 -04:00
Schuyler Cebulskie
aa9fdf2e26 Small cleanups 2016-09-20 23:09:02 -04:00
Schuyler Cebulskie
468077ce96 Merge branch 'master' into indev 2016-09-20 23:02:56 -04:00
Matteo Rizzo
f383c78414 Fix VoiceConnection.playConvertedStream not playing anything (#708) 2016-09-20 23:01:02 -04:00
Schuyler Cebulskie
e5bac1339d Improve Client.sweepMessages 2016-09-20 10:57:39 -04:00
Schuyler Cebulskie
6075ec0e19 Add more detail to debug message 2016-09-20 01:25:19 -04:00
Schuyler Cebulskie
8f1bc5edab Add swept messages counter and debug message 2016-09-20 01:14:15 -04:00
Schuyler Cebulskie
5a9753e461 Double-fix my double-derp 2016-09-19 20:07:30 -04:00
Schuyler Cebulskie
0559aaf00b Fix my derp 2016-09-19 20:01:20 -04:00
Schuyler Cebulskie
9503990a86 Rename max_message_lifetime to message_cache_lifetime 2016-09-19 17:52:11 -04:00
Schuyler Cebulskie
a2778d4a96 Fix resolveFile on nonexistent paths (#717) 2016-09-19 16:58:15 -04:00
Schuyler Cebulskie
afc8e5bee0 Add message sweeping 2016-09-19 16:52:46 -04:00
Gus Caplan
e0b614c3b2 weee add clyde because we all love clyde (#716)
* update to work with clyde's avatar image ;)

* add clyde to user cache on ready

* Update Ready.js

* Update Ready.js
2016-09-19 14:56:52 -04:00
Schuyler Cebulskie
47d873a8ca Move and improve debug/warn docs 2016-09-19 05:11:35 -04:00
Schuyler Cebulskie
6a94658dd7 Clean up some stuff 2016-09-19 04:32:24 -04:00
Schuyler Cebulskie
6ede7a32fd Switch timeouts/intervals to Sets 2016-09-19 04:16:32 -04:00
Schuyler Cebulskie
7d8667694d Fix massive timeout/interval memory leaks 2016-09-19 03:49:42 -04:00
Schuyler Cebulskie
6f7deba4b3 Fix VoiceConnection client#voiceStateUpdate leak 2016-09-19 02:49:30 -04:00
Schuyler Cebulskie
9288cd8563 Replace usages of owner.id with ownerID, and fix GroupDMChannel.equals 2016-09-19 01:43:24 -04:00
Schuyler Cebulskie
5f9204f57c Improve resolvePermission failure check 2016-09-19 00:19:15 -04:00
Schuyler Cebulskie
336366d653 Bad Hydra. 2016-09-18 23:46:59 -04:00
Schuyler Cebulskie
6c6da43da3 Fix ban/unban with IDs 2016-09-18 23:07:30 -04:00
Schuyler Cebulskie
bbddfef7f6 Add resolveUserID and improve other resolutions 2016-09-18 22:59:38 -04:00
Schuyler Cebulskie
ab7682f921 Tiny text changes 2016-09-17 23:22:15 -04:00
Amish Shah
9308d2ead3 Address #700 2016-09-14 16:35:38 +01:00
Gus Caplan
7cb2e8eef7 add disconnect event, document warn and debug events (#702)
* add documentation for events, and add a disconnect event, because i know people use that

* generate docs, and fix a hastily copied docstring

* fix permissions freak out
2016-09-14 00:12:10 -04:00
Schuyler Cebulskie
25531170ec Fix catch in _sendMessageRequest 2016-09-13 21:29:45 -04:00
Schuyler Cebulskie
bb0ca11776 De-stupify RESTMethods.getExistingDM 2016-09-13 20:50:18 -04:00
Amish Shah
b0adc881f3 Maybe fix #694? 2016-09-13 20:30:44 +01:00
Amish Shah
fbcea236c5 Fix avatars not being set on selfbots - fixes #697 2016-09-13 20:21:12 +01:00
Amish Shah
f7e89f61e6 Fix channelCreate being emitted twice - fixes #698 2016-09-13 20:00:00 +01:00
Amish Shah
02b257e1fc Fix audio playing stupidly fast - fixes #689 2016-09-12 18:23:38 +01:00
Schuyler Cebulskie
6fb0691a2b Add label for permission strings docs 2016-09-12 13:06:11 -04:00
Schuyler Cebulskie
961346dcaa Inline a line 2016-09-12 13:04:09 -04:00
Schuyler Cebulskie
8984bf332c Capitalised some letters 2016-09-12 13:02:56 -04:00
Amish Shah
ac2ad0dd23 Document PermissionResolvables 2016-09-12 17:58:57 +01:00
Amish Shah
ea55b0efbd Fix receiver.recreate() 2016-09-12 17:43:45 +01:00
Amish Shah
95369b0a89 Add VoiceReceiver.destroy()/recreate(), addresses #693 2016-09-12 17:01:15 +01:00
Amish Shah
b39d959cdf Maybe fix voice and #650? 2016-09-12 16:39:18 +01:00
Gus Caplan
032d6613f7 add a message, because WHY THE HELL DID NO ONE EVER DO THIS (#690)
* add a message, because WHY THE HELL DID NO ONE EVER DO THIS

!!!

* make message better

* make linter happy

* disable max-len rule for line 37

* make gawdl3y be happy

* gawdl3y triggers me

* Update FfmpegConverterEngine.js
2016-09-11 21:28:17 -04:00
Amish Shah
9059eb13a2 Add passes to streaming voice 2016-09-11 18:49:18 +01:00
Amish Shah
3dab19a3bc Add Client.fetchInvite 2016-09-11 18:19:55 +01:00
Amish Shah
8f1216d9a5 Add StreamDispatcher#start event 2016-09-11 17:39:07 +01:00
Amish Shah
f0a9a1353f prevent further user inaccuracies 2016-09-11 16:57:09 +01:00
Amish Shah
77e83fb85a Fix voice 😄 2016-09-11 16:41:05 +01:00
Amish Shah
3fba72107b Add GuildMember.permissionsIn and make ChannelResolvables more lenient 2016-09-11 12:51:32 +01:00
Amish Shah
af33b2b5bb fix #684 2016-09-11 12:38:57 +01:00
Amish Shah
5b8f882a0f fix avatars being set to undefined 2016-09-11 11:50:19 +01:00
Schuyler Cebulskie
47d71d32f3 Make grammer gooder 2016-09-11 01:40:37 -04:00
Schuyler Cebulskie
0833500d60 Made most object typedefs specify their properties 2016-09-11 01:21:49 -04:00
Schuyler Cebulskie
7da00cf0fe Add long message splitting 2016-09-11 01:01:36 -04:00
Amish Shah
e75dd2638c Add Burst requests - addresses #656 2016-09-10 22:12:10 +01:00
Amish Shah
de6042a4d7 Merge branch 'master' into indev 2016-09-10 19:30:47 +01:00
Yannick Linke
6a53255ed5 Fixes typo in GuildRoleUpdate's documentation (#679)
See https://github.com/hydrabolt/discord.js/blob/7fe032c785/src/util/Constants.js#L156
2016-09-10 14:20:43 -04:00
Schuyler Cebulskie
a5a269b940 Fix Hydra's ESLint failure 2016-09-10 12:42:04 -04:00
Amish Shah
fd564176ff Have block in place for rare weird typing in voice channel bug 2016-09-10 17:28:51 +01:00
Amish Shah
d7bf40cab0 Simplify APIRequest endpoint 2016-09-10 17:21:15 +01:00
Amish Shah
894115758c Stricter rate-limiting to avoid unlikely 429s 2016-09-10 17:21:04 +01:00
Amish Shah
8c0685fa9a Add StreamDispatcher.time and totalStreamTime, addresses #674 2016-09-10 14:44:52 +01:00
Amish Shah
0d417b6432 Fix voice speed issues, fixes #672 2016-09-10 14:22:14 +01:00
Amish Shah
4255dcd3ca Fix multipart for requests, fixes #675 2016-09-10 12:40:51 +01:00
Amish Shah
84fe65ec78 Fix members being recreated after leaving - fixes #667 2016-09-10 11:38:48 +01:00
Amish Shah
4278a37e3c maybe fix voice idk 2016-09-09 18:45:33 +01:00
Amish Shah
b7204f33b9 some voice fixes 2016-09-09 18:35:27 +01:00
Amish Shah
f192d16b5b Fix delays inbetween audio streams (#632) 2016-09-09 18:28:21 +01:00
Amish Shah
dd623891e2 websocket should silently error if there are no listeners for error 2016-09-09 17:05:38 +01:00
Schuyler Cebulskie
8f9923976f Fix stuff 2016-09-09 11:35:59 -04:00
Amish Shah
85fae72b7b Fix #657 2016-09-09 16:23:07 +01:00
Schuyler Cebulskie
9682adb9fe Clean up PR a bit 2016-09-08 22:59:10 -04:00
Perry Berman
f7a542f12b Add optional streamOptions to playStream() functions (#663)
* Adding playStream options

Added optional volume and seek properties

* fixed code formatting

Edited my code styling to match with the rest of d.js

* Added Default Variable

* Added Documentation

Added documentation for the streamOptions parameter
Added a default value for seek in FFmpegConverterEngine
Removed redundantcy

* Fixed docs for voiceConnection

* Change _updateMember's notSame check from && to || (#665)

* Fixed git merge fail

* Built Docs. Again.........

* Hopefully finally fixed
2016-09-08 22:49:52 -04:00
Schuyler Cebulskie
d42b589528 Rename emailOrToken -> tokenOrEmail 2016-09-08 22:27:38 -04:00
Brian Tanner
47a164bd36 fix epipe when skipping songs, probably fixes econnreset (#662) 2016-09-08 21:53:49 -04:00
Schuyler Cebulskie
465ff074e1 Prevent Guild.fetchMember from messing with fetchMembers 2016-09-07 23:12:36 -04:00
Schuyler Cebulskie
f185d892c7 Fix two more lines to use new typing map
And a tiny text fix
2016-09-07 00:58:19 -04:00
Gus Caplan
b9caa2ee5d when fetch_all_members is enabled, new guilds should also do that (#623)
* when fetch_all_members is enabled, new guilds should also do that

* Fix Gus' derp (#1)

* Fix my derp (#2)

* Fix another of Gus' derps (#3)
2016-09-07 00:43:06 -04:00
Programmix
ab4707f9b4 Fix crash on role update (#648) 2016-09-07 00:26:34 -04:00
Schuyler Cebulskie
b7f582b7f0 Clean up a bunch of stuff
- Channel typing data is now a Map
- Client properties on structures are now non-enumerable and
non-configurable
2016-09-07 00:24:45 -04:00
Schuyler Cebulskie
c7b4cf3d3f Add Guild.fetchMember 2016-09-06 20:36:58 -04:00
Kelvin Wu
f3286402fb Make Message.edit() accept arrays. (#630)
* Make Message.edit() accept arrays. Update corresponding parameters in docs (#624).

* Tweak parameter types in docs.

* Update docs.
2016-09-06 20:32:24 -04:00
Programmix
17bee8084e Add Message.edits (#636)
* Add Message.edits

* Make travis happy

* Change @type for consistency
2016-09-06 19:20:35 -04:00
Schuyler Cebulskie
9d694d2b67 Add ability to ban non-members from guilds (#638) 2016-09-06 16:55:42 -04:00
Tyler
6dfe160c52 Add get status() for Client (#622)
* Add get status() for Client

* Fix trailing space
2016-09-05 07:52:15 +01:00
Schuyler Cebulskie
dc7b07022c Add GuildMember.addRole/addRoles (#615)
* Add GuildMember.addRole/addRoles

* Add GuildMember.removeRole/removeRoles
2016-09-05 07:18:51 +01:00
Schuyler Cebulskie
5bd258a557 Allow sendMessage disableEveryone to override client option (#605) 2016-09-04 21:05:38 +01:00
Hackzzila
3b7d5e869b Added disable_everyone (#603)
* Added disable_everyone

* Fixed docs
2016-09-04 19:03:59 +01:00
Manuel Kraus
48e7fad1c9 Expose TextBasedChannel#fetchMessage() (#602) 2016-09-04 18:46:29 +01:00
Amish Shah
bcab8805af Add client.emojis and fix eslint 2016-09-04 17:54:31 +01:00
Amish Shah
9f0db9d0d8 join arrays with new lines when sending as messages 2016-09-04 17:16:01 +01:00
Amish Shah
7475f734ac Add debug stuff 2016-09-04 12:31:16 +01:00
Amish Shah
906672e538 Merge branch 'indev-rewrite-sharding' into indev-rewrite 2016-09-04 12:17:42 +01:00
Amish Shah
1155c482f1 make client.readyTime a date 2016-09-04 11:55:23 +01:00
Amish Shah
9c915d1e0a Fix constants errors not giving a stacktrace 2016-09-04 11:53:48 +01:00
Amish Shah
0c32e590a8 fix constants reference 2016-09-04 11:35:21 +01:00
Schuyler Cebulskie
0b908f5bce Cleanup Part 2: Electric Boogaloo (Reloaded) (#594)
* Cleanup Part 2: Electric Boogaloo (Reloaded)

* Moar cleanup

* Tweak NOT_A_PERMISSION error
2016-09-04 10:08:09 +01:00
Amish Shah
5a9c42061f Fix permissionsFor 2016-09-03 23:46:39 +01:00
Amish Shah
16fbbde35c Make syncGuilds off limits to bot accounts 2016-09-03 23:25:26 +01:00
Schuyler Cebulskie
5af09d335c Switch to maps for action deleted + more cleaning (#592) 2016-09-03 23:21:31 +01:00
Amish Shah
a3b9b0f1b4 Fix VC docs 2016-09-03 23:11:55 +01:00
Amish Shah
efd1d0c738 rewrite some docs and refactor some names 2016-09-03 23:06:58 +01:00
Schuyler Cebulskie
59a5862f2d Clean up Actions code (#591) 2016-09-03 22:48:51 +01:00
Amish Shah
432c5ccc82 Add volume modification to dispatcher 2016-09-03 22:27:43 +01:00
Schuyler Cebulskie
64d89b3748 Replace a few rejections with throw (#590) 2016-09-03 21:36:54 +01:00
Amish Shah
44b34154e8 guarantee promise resolution for voice connections 2016-09-03 21:32:11 +01:00
Amish Shah
7ff2568cfc Fix collectors and make guild sync add previously unknown members 2016-09-03 21:21:15 +01:00
Amish Shah
09dee3d46a Fix ready never firing for truly unavailable guilds 2016-09-03 21:10:10 +01:00
Schuyler Cebulskie
68acf37fd4 Add stricter/better ESLint config (#589)
* Add stricter/better ESLint config

* Remove more unnecessary @returns
2016-09-03 20:45:23 +01:00
Amish Shah
a172fffd76 Actually add GUILD_SYNC 2016-09-03 17:59:16 +01:00
Schuyler Cebulskie
02324fbecb Add string guild resolving (#587) 2016-09-03 17:01:50 +01:00
Schuyler Cebulskie
d97ce2e181 Remove all string object references (#586) 2016-09-03 16:58:28 +01:00
Schuyler Cebulskie
27652b94af Make JSDocs follow general conventions (#582)
* Make JSDocs follow usual conventions

* Fix StringResolvable name

* Make function lowercase
2016-09-03 09:57:25 +01:00
Amish Shah
1cbd1bda46 fix the bug in a better way 2016-09-02 16:57:14 +01:00
Amish Shah
7d27667afc Fix weird guild ug 2016-09-02 16:56:13 +01:00
Hyper-Coder
168256469e Re add <Client>.uptime (#579) 2016-09-02 00:03:33 +01:00
Amish Shah
28ad224207 Add GuildMember as user resolvable 2016-09-01 12:05:29 +01:00
Amish Shah
892e162229 fix setTyping and many other timeout/interval based methods 2016-08-31 19:28:00 +01:00
Amish Shah
631626a3f9 Merge remote-tracking branch 'origin/indev-rewrite' into indev-rewrite-sharding 2016-08-31 13:43:18 +01:00
Schuyler Cebulskie
f02cc27735 Fix ClientDataManager.killUser (#572) 2016-08-30 19:31:14 +01:00
Amish Shah
c70dfa83fb Add ShardManager 2016-08-30 17:26:32 +01:00
Amish Shah
4f41a86dd3 Clear timeout IDs from array after execution 2016-08-30 14:20:33 +01:00
Amish Shah
680ac48e3d Emit error instead of console.log 2016-08-30 14:06:16 +01:00
Amish Shah
49d525109f Fix ESLint 2016-08-30 13:55:55 +01:00
Amish Shah
d249aa10cc Add client.destroy(); 2016-08-30 13:05:57 +01:00
Amish Shah
52adb3d8b2 undo fix whoops ¯\_(ツ)_/¯ 2016-08-29 19:13:47 +01:00
Amish Shah
1e2e940b98 File resolving can use http too now 2016-08-29 19:10:05 +01:00
Amish Shah
78e0d88f55 Make file resolving non-blocking for local paths 2016-08-29 19:08:36 +01:00
Amish Shah
897cbfec77 Fix leaving guilds if you are the owner 2016-08-29 19:03:50 +01:00
Manuel Kraus
d9ae732bfd Add sendFile function (#562)
* sendFile

* Add default value to filename

* eslint

* (╯°□°)╯︵ ┻━┻
2016-08-29 19:01:05 +01:00
Amish Shah
df934eccaf Fix voice losing count 2016-08-29 16:41:33 +01:00
Amish Shah
144638e746 Experimental ClientOptions.fetch_all_members 2016-08-29 13:54:35 +01:00
Amish Shah
001460acc0 Add guild.fetchMembers() 🎉🎉 2016-08-29 13:20:06 +01:00