Commit graph

517 commits

Author SHA1 Message Date
Amish Shah
544e456302 Add ClientOptions.restTimeOffset for better performance for bots with a good network connection 2016-12-24 12:13:42 +00:00
Gus Caplan
3eca3ba95e add handler in case heartbeat is not acked (#1013)
* add handler in case heartbeat is not acked

* ffs
2016-12-24 11:04:27 +00:00
Gus Caplan
7c12fdcb56 add payload_json instead of the current iterator (#1015) 2016-12-24 02:04:18 -05:00
Gus Caplan
e6a041241b cleanup ws ratelimiting, and apirequest (#957)
* cleanup ws ratelimiting, and apirequest

* cleanup timestamps

* clean up timestamps
2016-12-23 14:37:43 +00:00
Amish Shah
74ef0b2e14 minor fixes 2016-12-23 14:37:35 +00:00
Amish Shah
b518437f52 Emit the close event on disconnect 2016-12-23 13:59:06 +00:00
bdistin
f726db2152 Revert error emit on Slow Stream Gen (#1011) 2016-12-22 22:24:31 -05:00
Gus Caplan
cecb0aee02 Update User#setEmail/setPassword/setUsername (#991)
* fix some things with user updates and tokens and such

* fix stupid

* Update ClientUser.js

* Update ClientUser.js
2016-12-22 15:12:29 -05:00
Gus Caplan
fa7d63a10a add an invite generator (#993)
* add an invite generator

* `number |= null` is safe, so we can simplify this

* Update Client.js

* aaaaaa
2016-12-20 23:37:36 +00:00
Gus Caplan
c483dd8239 add some useful events (#1004) 2016-12-20 23:37:06 +00:00
Gus Caplan
e392107369 add ClientUser#fetchMentions (#999)
* add ClientUser#fetchMentions

Signed-off-by: Gus Caplan <gus@localhost.localdomain>

* ugh

* Update ClientUser.js

* Update ClientUser.js

* Update ClientUser.js
2016-12-19 02:16:27 -05:00
Gus Caplan
b74c1b70b6 fix 992 (#994) 2016-12-18 16:06:42 -05:00
Will Nelson
736fa7c611 friendlier notification of an invalid token (#997)
* friendlier notification of an invalid token

* fixed

* even fixeder

* no token -> invalid token

* eslint

* Update RESTMethods.js
2016-12-17 13:22:39 -05:00
Schuyler Cebulskie
361547a588 Fix a bunch of capitalisation issues 2016-12-15 20:10:38 -05:00
bdistin
fbe1929bde Pass Reason to the streamDispatcher end event (#985)
* Pass Reason to the streamDispatcher end event

* Update <dispatcher>.end() to bring inline with <collector>.stop()

Also changed "Stream is not generating quickly enough." from an end to an error, per Crawl...

* Fix docs Copy/Paste fail from collection end event
2016-12-15 16:32:37 +00:00
Gus Caplan
a20bac7258 update per issue 69 on the h&c github (#963)
* update per issue 69 on the h&c github

* clean up things that don't exist anymore
2016-12-15 16:32:19 +00:00
Gus Caplan
9c59b649ad get rid of user agent errors (#990) 2016-12-15 16:32:06 +00:00
Hackzzila
52a83b9218 Add ffmpeg-binaries as a possible source of ffmpeg (#975)
* Add ffmpeg-binaries as a possible source of ffmpeg

* Add note in faq
2016-12-11 19:02:00 +00:00
Gus Caplan
d766e727a1 add GuildChannel#clone (#973)
* add GuildChannel#clone

* e
2016-12-11 09:07:52 +00:00
Gus Caplan
e51fed968d hydarplz (#962) 2016-12-09 20:47:56 +00:00
Will Nelson
275d9d3ce0 fix remove reactions return (#961) 2016-12-07 10:12:00 -05:00
Gus Caplan
b177aefdd6 add user/member lastMessageID (#959)
* add user.lastMessageID

* stupid

* add member.lastMessageID
2016-12-06 23:46:32 -05:00
Gus Caplan
050d3f9303 fix serialize for webpack (#960)
* fix serialize for webpack

* Update WebSocketManager.js

* Update WebSocketManager.js
2016-12-06 23:45:31 -05:00
Gus Caplan
d67ecdd2af fix authenticating role updates (#956)
* Update RESTMethods.js

* Update RESTMethods.js
2016-12-06 17:23:40 +00:00
bdistin
8eff36b744 Fix reconnect when using WS (#952)
* Fix reconnect when using WS

* Add disconnect status (fix reconnect with WS)
2016-12-05 21:06:49 +00:00
Gus Caplan
638e51a18c support new guild member role endpoints for cleaner role updates (#901)
* support new roles endpoints

* use promise chaining

* properties man

* Update RESTMethods.js

* Update RESTMethods.js

* Update RESTMethods.js

* Update RESTMethods.js
2016-12-02 23:46:55 -05:00
Gus Caplan
1e5afc1608 Add etf encoding support with erlpack (#943)
* the performance from this is astounding

* help uws

* save 15 bytes in webpacks

* update readme

* why is markdown like this

* optimizations

* Update WebSocketManager.js
2016-12-02 21:35:59 -05:00
Schuyler Cebulskie
58c7c2e7b8 Add client ping stuff 2016-12-02 20:58:19 -05:00
Amish Shah
1933451d2f fix reconnecting 2016-11-28 16:14:34 +00:00
Amish Shah
b335824570 potentially fix #910, guild sync no longer assumes unknown users are new to the guild 2016-11-28 15:41:57 +00:00
Schuyler Cebulskie
769ea5b50f Add more detail to error message 2016-11-27 19:39:10 -05:00
Hackzzila
6afd80cf53 Make uws a peer dep, and readd ws (#928)
* Make uws a peer dep, and readd ws

* if -> else if
2016-11-27 19:59:50 +00:00
Amish Shah
9323882a8d fix disabledEvents 2016-11-27 12:01:51 +00:00
Schuyler Cebulskie
dc6c1140bc Improve some JSDocs 2016-11-27 01:08:08 -05:00
Schuyler Cebulskie
c683790de7 Remove old uws-specific code (0.11.1 has the good stuff) 2016-11-25 19:40:53 -05:00
Will Nelson
eedc097f3f fix playConvertedStream (#923) 2016-11-24 17:08:55 -05:00
Schuyler Cebulskie
ac64f8bd23 Improve rest args docs 2016-11-24 11:22:13 -05:00
Gus Caplan
945a2e370a fix voice ws (#922) 2016-11-24 02:39:01 -05:00
Gus Caplan
0008a18deb Fantastic PR #368 by Gus (#921) 2016-11-23 22:16:19 -05:00
Gus Caplan
c91ee7a3e7 Replace ws with uws (#918)
* change to uws (waiting for the next release tho)

* clean up, fix reconnections (maybe)

* change voice to use uws

* so messy
2016-11-23 19:30:00 -05:00
Schuyler Cebulskie
32879419e2 Fix dispatcher doc 2016-11-23 02:51:10 -05:00
Schuyler Cebulskie
a4193553e2 Optimise websocket events 2016-11-20 23:39:40 -05:00
Schuyler Cebulskie
ee4a8bb3b6 Made Client.browser a getter 2016-11-20 22:45:59 -05:00
Schuyler Cebulskie
f6a60581c4 Remove even more stuff from web dists 2016-11-20 22:40:06 -05:00
Schuyler Cebulskie
3ef16f97c4 Remove dynamic requires 2016-11-20 20:52:39 -05:00
Gus Caplan
2440a4a2c8 Add webpack building (#907)
* friggin webpack tho

* probably important

* add all the stuff to the package.json

* add minify builds and a nice package.json script to run it all

* clean up

* use uglify harmony branch so we can actually run minify builds that work

* update build system

* make test better

* clean up

* fix issues with compression

* ‮

* c++ requirements in a node lib? whaaaaat?

* fix travis yml?

* put railings on voice connections

* 🖕🏻

* aaaaaa

* handle arraybuffers in the unlikely event one is sent

* support arraybuffers in resolvebuffer

* this needs to be fixed at some point

* this was fixed

* disable filename versioning if env VERSIONED is set to false

* Update ClientDataResolver.js

* Update ClientVoiceManager.js

* Update WebSocketManager.js

* Update ConvertArrayBuffer.js

* Update webpack.html

* enable compression for browser and fix ws error handler

* Update WebSocketManager.js

* everything will be okay gawdl3y

* compression is slower in browser, so rip the last three hours of my life

* Update Constants.js

* Update .gitignore
2016-11-20 19:38:16 -05:00
Crawl
3fd3588ef2 Fix reaction event names (#906) 2016-11-17 03:03:51 -05:00
Schuyler Cebulskie
49fdc331a7 Fix formatting 2016-11-17 02:49:24 -05:00
Gus Caplan
b2bc844ed7 Add new MessageEmbed stuff (#898)
* fix

* Update MessageEmbed.js

* man

* Update MessageCreate.js

* Update MessageEmbed.js

* Update MessageEmbed.js

* clean up, add class

* my dreams are slowly becoming memes

* aghhh

* safety

* Update MessageEmbed.js

* Update MessageEmbed.js

* Update MessageEmbed.js

* dammit
2016-11-17 02:42:50 -05:00
York
1833a83664 Documented reaction events (#905) 2016-11-17 02:18:03 -05:00
Programmix
5ed8098af8 Clean up reactions, add remove all reactions (#890)
* Clean up reactions, add remove all reactions

* Reorganize reactions

* Re-add Gawdl3y's precious little inline

* Update Message.js
2016-11-13 02:29:26 -05:00
Steffen
a359f344d8 UnhandledPromiseRejectionWarning caused by resolveBuffer on empty resource body (#886)
* Fix for UnhandledPromiseRejectionWarning in resolveBuffer

* code simplification

* reject with TypeError if body is not a Buffer
2016-11-13 02:07:51 -05:00
Gus Caplan
27270a3bad add embed support! (#894)
* add embed support!

* document message embeds

* make gawdl3y happy

* make edit great again

* make docs better

* Update Message.js

* Update TextBasedChannel.js

* Update TextBasedChannel.js
2016-11-13 01:05:13 -05:00
Schuyler Cebulskie
b07a31d44e Change case of "function" 2016-11-12 21:07:22 -05:00
Schuyler Cebulskie
90304aa7d6 Fix loads of JSDoc type issues 2016-11-12 20:52:37 -05:00
Schuyler Cebulskie
ce132d5f54 Make bot/user account warnings MOAR CONSISTENT!!one! 2016-11-12 17:15:17 -05:00
Schuyler Cebulskie
1e8392d90b Merge branch 'master' into indev 2016-11-12 00:30:25 -05:00
Marko Kajzer
c02eb2f171 Fixed unset field of VoiceConnection (#879)
* Fixed unset field of VoiceConnection

Fixed a typo

* Update VoiceConnection.js
2016-11-07 12:35:49 -05:00
Programmix
fe3914658a Grammar cleanup (#875)
This commit:
* fixes inconsistencies (primarily regarding capitalization)
* fixes non-proper nouns that were improperly capitalized
* fixes reminents from not-so-meticulous copy+paste jobs
2016-11-05 23:57:34 +00:00
Programmix
9a61de1493 Document GuildChannel.edit, add VoiceChannel.setUserLimit, fix typo (#866) 2016-11-01 01:42:05 -04:00
Programmix
6dc95cd084 Add support for notes (#860)
* Add support for notes

* Ensure consistency with notes from ready payload

* Add getter method for users

* Minor tweaks

* Update warning messages

* More minor fixes
2016-10-30 23:06:09 -04:00
Schuyler Cebulskie
d7e1e1c0c9 Add warnings for Collection.find/exists 2016-10-30 22:22:16 -04:00
Schuyler Cebulskie
73261646fc Fix ESLint warnings 2016-10-30 17:23:39 -04:00
Schuyler Cebulskie
f2496070d3 Document client timeout/interval stuff 2016-10-30 17:02:06 -04:00
Schuyler Cebulskie
85330769a7 Refactor OAuth application stuff 2016-10-30 16:55:08 -04:00
Schuyler Cebulskie
589c44327a Make bot/user account notices consistent 2016-10-30 16:41:39 -04:00
Schuyler Cebulskie
5fa9e3548b Rename ClientDataResolver.resolveFile -> resolveBuffer 2016-10-30 16:29:56 -04:00
Schuyler Cebulskie
60e0d507f0 Clean up nearly all promises to utilise chaining, other small fixes 2016-10-30 16:27:28 -04:00
Schuyler Cebulskie
8306d50bd8 Clean up a bunch of promise stuff 2016-10-30 12:47:17 -04:00
Amish Shah
c334bf4535 Merge branch 'master' into indev 2016-10-28 18:47:49 +01:00
Pascal Luttgens
cdf66f8011 Fixed resolveChannel when using a string (#857) 2016-10-28 14:09:40 +01:00
Schuyler Cebulskie
cf04b44454 Clean up some more 2016-10-27 21:38:48 -04:00
Schuyler Cebulskie
4e6b632d23 Fix VoiceConnection.speaking not emitting 2016-10-27 20:51:19 -04:00
Schuyler Cebulskie
83bef4ca77 Teensy weensy cleanup 2016-10-27 20:45:09 -04:00
Schuyler Cebulskie
1841122a8f Cherry pick commits from indev 2016-10-27 19:48:34 -04:00
isonmad
4bd19c94ba fix Client.destroy (#853)
_timeouts and _intervals were changed to Set objects in
commit 6ede7a32fd a month ago.

Like #844, this fix was reverted in 7d04863b66 (#839)
without explanation and was never included in the followup rewrite in
commit 5e2ee2398e.
2016-10-27 17:38:34 -04:00
Hackzzila
30105536a6 ESLint warnings (#852) 2016-10-27 22:19:20 +01:00
Hackzzila
c9dbf1f7f0 OAuth info stuff (#849)
* OAuth info stuff

* fix docs

* oops
2016-10-27 21:50:04 +01:00
Amish Shah
5dd76069f8 Simplify voice channel joining 2016-10-27 19:04:24 +01:00
Amish Shah
dfeafbf5fa Add the ADD_REACTIONS permission 2016-10-27 17:32:23 +01:00
Amish Shah
cd9b391e2a Hide SecretKey in documentation 2016-10-27 17:25:17 +01:00
Amish Shah
9cba1bc6d0 remove users from message reactions 2016-10-27 17:16:40 +01:00
Amish Shah
dd9c291508 Add reaction fetching of users 2016-10-27 16:58:06 +01:00
Amish Shah
81059885a2 Start work on adding reaction support 2016-10-27 15:22:42 +01:00
isonmad
dd31ee0c5f propagate errors in ClientManager.destroy (#844)
If the promise returned by logout() rejects, previously
it would be completely uncaught, and just return an
eternally pending promise that never resolved.

Related to pull requests #828 and #839.
2016-10-27 11:33:51 +01:00
Schuyler Cebulskie
4e693e2e39 Fix a small VoiceReceiver doc issue 2016-10-26 21:43:28 -04:00
Schuyler Cebulskie
ab6750d06d Make docs catches use console.error 2016-10-26 21:37:19 -04:00
Amish Shah
00fe45f6b3 simplify client destruction 2016-10-26 19:52:41 +01:00
Amish Shah
5e2ee2398e Fix some destroy stuff (#828) 2016-10-26 19:42:21 +01:00
Amish Shah
7d04863b66 Revert "fix Client.destroy bugs" (#839) 2016-10-26 17:30:18 +01:00
Gus Caplan
c6bcf69dc3 added User#fetchProfile (#835)
* add User#fetchProfile

* fix merge conflicts?
2016-10-26 16:23:39 +01:00
Amish Shah
e12c7bf2d4 Whoops remove something 2016-10-26 16:10:02 +01:00
Amish Shah
50f73bf430 Merge branch 'indev' of https://github.com/hydrabolt/discord.js into indev 2016-10-26 16:06:58 +01:00
Amish Shah
0f1e121b81 hide some voice stuff in docs 2016-10-26 16:06:56 +01:00
Gus Caplan
60a911e4a0 add clientUser#createGuild (#832)
* add clientUser#createGuild merge docs

* almost caused a memory leak!

* muh triggers
2016-10-26 15:59:15 +01:00
Amish Shah
35ac80024a Rename some events (mainly guild events) 2016-10-26 15:52:40 +01:00
Amish Shah
45632b2eae fix joining voice channels without perms 2016-10-26 15:23:54 +01:00
Amish Shah
650e21e907 Merge branch 'indev' of https://github.com/hydrabolt/discord.js into indev 2016-10-26 15:14:30 +01:00
Amish Shah
e7e8a802b8 Fix docs 2016-10-26 15:14:28 +01:00
isonmad
e9fa8a438c fix Client.destroy bugs (#828)
* add test for Client.destroy()

* propagate errors in ClientManager.destroy

If the promise returned by logout() rejects, previously
it would be completely uncaught, and just return an
eternally pending promise that never resolved.

* fix RESTMethods.logout

Without a data argument, the POST that superagent sends causes
the discord server to reply with a HTTP 400 error:

text: '{"Content-Type": "Expected Content-Type to be one of set([\'application/json\'])."}',

* fix Client.destroy

_timeouts and _intervals were changed to Set objects in
commit 6ede7a32fd a month ago.

Changing them to arrays causes failures if you try to reuse
the client object again.

* always close websocket in ClientManager.destroy

Invoking logout does not implicitly cause the server to close
the websocket for you, so cleanup everything.

Otherwise the websocket being open keeps node alive and hanging
mysteriously until the connection hits a timeout.

* fix indentation for eslint
2016-10-26 14:49:45 +01:00