Commit graph

798 commits

Author SHA1 Message Date
Amish Shah
dd9c291508 Add reaction fetching of users 2016-10-27 16:58:06 +01:00
Amish Shah
8e505ed349 Add Message Reaction me 2016-10-27 16:30:02 +01:00
Amish Shah
d129457624 Improve emoji support 2016-10-27 16:12:02 +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
1fc9676ba5 Fix presences, damn it hydra 2016-10-26 22:09:11 +01:00
Schuyler Cebulskie
ecee07655f Simplify Shard.env 2016-10-26 15:31:05 -04:00
Amish Shah
1a3ea65abd fix some shard stuff on linux 2016-10-26 20:15:56 +01: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
a2f125e416 case sensitive 2016-10-26 19:27:52 +01:00
Amish Shah
ad90705c93 fix bug 2016-10-26 19:21:45 +01:00
Amish Shah
7d04863b66 Revert "fix Client.destroy bugs" (#839) 2016-10-26 17:30:18 +01:00
Amish Shah
18e9850e1e Merge branch 'indev' of https://github.com/hydrabolt/discord.js into indev 2016-10-26 17:29:26 +01:00
Amish Shah
4a5cef0ccf Rename getRecommendedShards to fetchRecommendedShards 2016-10-26 17:29:23 +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
Amish Shah
26de908cfd some voice docs 2016-10-26 14:44:19 +01:00
Amish Shah
968883ec35 Merge branch 'indev' of https://github.com/hydrabolt/discord.js into indev 2016-10-26 14:19:39 +01:00
Amish Shah
0c4a4023ce Fix setting guild role positions (#751) 2016-10-26 14:19:36 +01:00
Schuyler Cebulskie
05f73c3edf Clean up voice channel join permissions check 2016-10-25 20:41:23 -04:00
Schuyler Cebulskie
b2a4545c16 Clean up more voice stuff 2016-10-25 20:34:57 -04:00
Schuyler Cebulskie
d1e9d15a1c Clean up a bunch of new voice stuff 2016-10-25 20:26:57 -04:00
Schuyler Cebulskie
a04094f0ff Rename VoiceConnection.disconnected event -> disconnect 2016-10-25 19:59:22 -04:00
Schuyler Cebulskie
c96d5ad30e Optimise everyone/here replacing 2016-10-25 19:01:56 -04:00
Schuyler Cebulskie
526430b51a Revert "Fix #837"
This reverts commit add52ce62d.
2016-10-25 18:49:12 -04:00
Amish Shah
add52ce62d Fix #837 2016-10-25 22:03:04 +01:00
Amish Shah
ff16c9f01f change currentDispatcher to just dispatcher 2016-10-25 21:55:38 +01:00
Amish Shah
0f8e8dddff fix presence updating 2016-10-25 21:40:53 +01:00
Amish Shah
2ee6da8d79 redo docs again 2016-10-25 19:52:10 +01:00
Amish Shah
5bd18e6051 add some documentation 2016-10-25 19:47:17 +01:00
Amish Shah
f77af72d71 Add voice receiving again \o/ 2016-10-25 19:41:54 +01:00
Amish Shah
b50bec8a44 whoops broke travis again 2016-10-25 15:02:16 +01:00
Amish Shah
2b2bbb565d don't require longjohn 2016-10-25 14:46:50 +01:00
Amish Shah
5844bbb54c Fix travis builds 2016-10-25 14:38:56 +01:00
Amish Shah
91ba59c43d Added voice disconnect 2016-10-25 14:18:20 +01:00
Amish Shah
b0921ae0ef fix econnreset! \o/ #694 2016-10-25 12:52:07 +01:00
Amish Shah
823a339c25 oh no wait i was right the first time 2016-10-24 22:27:23 +01:00
Amish Shah
8a68fea9af damn it hydar 2016-10-24 22:27:03 +01:00
Amish Shah
d73d6a7340 make some stuffs 2016-10-24 22:26:34 +01:00
Amish Shah
f96c185d92 add the functions to voice connection 2016-10-24 21:39:32 +01:00
Amish Shah
1a5ce878a1 fix some stuff 2016-10-24 20:13:44 +01:00
Amish Shah
5749eb6bb0 actually log the damn reason 2016-10-24 18:56:02 +01:00
Amish Shah
7818d37042 catch cleanup reasons 2016-10-24 18:36:52 +01:00
Amish Shah
17586f0e20 maybe fix again 2016-10-24 17:41:37 +01:00
Amish Shah
c6d0c31c84 hydra have you actually fixed voice whatttt 2016-10-24 17:10:17 +01:00
Amish Shah
b24e0b347e Merge remote-tracking branch 'origin/indev' into indev-voice 2016-10-24 16:26:41 +01:00
Amish Shah
6093dac554 Fix #776 (guildMemberAdd firing for existing members) 2016-10-24 15:57:07 +01:00
Amish Shah
d42ac98339 Fix #775 (permission overwrites not taking into account previous values) 2016-10-24 15:47:31 +01:00
Amish Shah
8dd2005ab9 stop logging 2016-10-24 14:37:08 +01:00
Amish Shah
e13e2447d4 get voice sort of working 2016-10-24 14:26:24 +01:00
Amish Shah
9b3dd540ef Merge remote-tracking branch 'origin/indev' into indev-voice 2016-10-24 12:50:40 +01:00
Gus Caplan
44bae385c2 update clientUser#setAvatar (#819)
* WHO DID THIS

* e

* some people have base64 fetishes i guess

Signed-off-by: Gus Caplan <fluffyrobotcheese@gmail.com>
2016-10-24 01:09:38 -04:00
Amish Shah
c86ff6ad1a Merge branch 'indev' of https://github.com/hydrabolt/discord.js into indev 2016-10-23 20:51:07 +01:00
Amish Shah
21533eec5b fix banning probably hopefully 2016-10-23 20:51:04 +01:00
Amish Shah
b2eb796cfc remove console.log and fix endless loop connecting 2016-10-23 19:59:19 +01:00
Schuyler Cebulskie
c9c6e8a357 Added note about bot accounts to fetchMessage 2016-10-23 14:59:04 -04:00
Gus Caplan
3e1425af04 allow TextBasedChannel#bulkDelete to take a number (#821)
* useful

* update docs

* Update TextBasedChannel.js

* update docs

* fix docs

* Update TextBasedChannel.js
2016-10-23 14:51:54 -04:00
Amish Shah
38ff53c3a1 woah is hydra actually working on voice?! 2016-10-23 19:51:44 +01:00
Amish Shah
f3439dcf6d Merge remote-tracking branch 'origin/indev' into indev-voice 2016-10-23 14:46:41 +01:00
Gus Caplan
b020fae258 fix emoji updates (#826) 2016-10-22 23:43:07 -04:00
Gus Caplan
422b90c711 add way more friend shit (#815) 2016-10-22 16:25:55 -04:00
Gus Caplan
9f7c630796 lel (#824) 2016-10-22 14:51:21 -04:00
Schuyler Cebulskie
caec3648c0 Added onlyInlineCode to escapeMarkdown 2016-10-21 02:35:36 -04:00
Schuyler Cebulskie
d0463926c4 Add maxMatches CollectorOption 2016-10-18 21:23:39 -04:00
Gus Caplan
9c8eb2dfc3 lets all be friendly! (#809)
* lets all be friendly!

* fix doc

* Update ClientUser.js

* Update ClientUser.js
2016-10-18 01:36:25 -04:00
Gus Caplan
bd5540314b
add message@#type 2016-10-17 21:24:16 -05:00
Schuyler Cebulskie
62b93659e6 Clean up and simplify some code 2016-10-17 00:02:54 -04:00
Gus Caplan
e04dbbdb82 add clientuser#friends (#807)
* add client#friends

* Update Ready.js

* Update Client.js

* move friends to client.user

* Update ClientUser.js

* Update ClientUser.js
2016-10-16 21:28:17 -04:00
Schuyler Cebulskie
fc307fab8a Remove unnecessary array conversions 2016-10-16 21:14:59 -04:00
Schuyler Cebulskie
13aae621b8 Fix Hyper's error and make it more useful 2016-10-16 20:58:03 -04:00
Schuyler Cebulskie
0b5ef296cb Fix split messages resolving with multiple of the same message 2016-10-15 20:23:32 -04:00
Schuyler Cebulskie
7e0f98ec68 MOAR SIMPLIFICATION 2016-10-15 01:45:13 -04:00
Schuyler Cebulskie
f2555132fe Simplify sendCode lang 2016-10-15 01:29:46 -04:00
Schuyler Cebulskie
6baf43dc24 Add Collection.filterArray 2016-10-15 01:20:31 -04:00
Schuyler Cebulskie
fe2192d544 Thanks for overriding the MessageOptions typedef, Gus 😒 2016-10-15 00:12:37 -04:00
Gus Caplan
50a1d1cbef Add VoiceChannel.joinable/speakable (#802)
* add some getters to voice channels

* Update VoiceChannel.js

* Update VoiceChannel.js

* Update VoiceChannel.js
2016-10-14 18:58:48 -04:00
Schuyler Cebulskie
8f0e2e0c56 Make token "Bot" removal more lenient
In case of heavy user error. :)
2016-10-14 02:14:00 -04:00
Schuyler Cebulskie
e4636243b2 Improve token "Bot" removal 2016-10-14 02:11:31 -04:00
Schuyler Cebulskie
485ffd267e Remove auto shard spawn interval (Discord doesn't support such a great idea 👀) 2016-10-14 00:21:08 -04:00
Schuyler Cebulskie
915a4cbe37 Rename spawnArgs -> shardArgs 2016-10-14 00:00:15 -04:00
Schuyler Cebulskie
3293f9a8de Add automatic shard spawning, and document options 2016-10-13 23:58:32 -04:00
Schuyler Cebulskie
aad06c1116 Teensy cleanup 2016-10-13 23:32:52 -04:00
Gus Caplan
853a3dfa04 Add getRecommendedShards and automatic shard count in ShardingManager (#796)
* draft stuff

fix docstring for Client#token

Reorganise resolver

make env better for shards, clean up docs

Fix Gus' log messages

7

meh just gateway/bot not v7 :(

final changes, ready for mergin!

build docs

make default totalShards 'auto', fix docs for totalShards type

clean up docs more

run docs

* make consistancy real

* Update and rename getRecommendedShards.js to GetRecommendedShards.js

* Update GetRecommendedShards.js

* Update index.js

* Update RESTMethods.js

* Update Shard.js

* Update GetRecommendedShards.js

* Update ShardingManager.js

* run docs
2016-10-13 23:26:10 -04:00
Schuyler Cebulskie
492f706035 Fix Gus' log messages 2016-10-13 20:05:07 -04:00
Schuyler Cebulskie
26804f3673 Reorganise resolver 2016-10-12 02:26:56 -04:00
Gus Caplan
299484ff68 allow overwritePermissions to take a role id (#792)
* allow overwritePermissions to take a role id

* Fix typo
2016-10-11 20:29:29 -04:00
Gus Caplan
0de3d1bfc4 make sharding manager constructor better (#794)
* add color stuff to support popular color libraries

* make this better

* fix docs
2016-10-11 20:20:59 -04:00
Gus Caplan
96355a4968 add constants, some debug stuff (#791)
* add constants, some debug stuff

* i can't believe i did this
2016-10-10 20:53:54 +01:00
Gus Caplan
32eeb8ad5e Fix feature/login (#790)
* eeeeeeee

* too tired

* ok gawdl3y

Signed-off-by: Gus Caplan <fluffyrobotcheese@gmail.com>
2016-10-10 02:55:09 -04:00
Gus Caplan
5ddefc3682 fix webhook#edit (#789)
* fix webhook#edit

* hehe
2016-10-10 02:54:46 -04:00
Gus Caplan
e48d7d52f1 add webhook#sendSlackMessage (#788) 2016-10-10 01:56:18 -04:00
Schuyler Cebulskie
9230b8866b Merge branch 'master' into indev 2016-10-10 02:45:10 -04:00
comp500
f292e7002f fix proxyURL (#783) 2016-10-09 22:44:38 -04:00
Schuyler Cebulskie
29b33bffaa Rearrange and clean up more webhook stuff 2016-10-09 15:50:50 -04:00
Schuyler Cebulskie
e7745a0af5 Clean up some webhook stuff 2016-10-09 15:30:46 -04:00
Schuyler Cebulskie
bd7ff36b66 Allow infinite messageCacheMaxSize 2016-10-09 15:22:14 -04:00
Schuyler Cebulskie
7a53f70978 Rename maxMessageCache -> messageCacheMaxSize 2016-10-09 15:16:54 -04:00
Schuyler Cebulskie
a717b60417 Add validation for all non-ws client options 2016-10-09 15:11:15 -04:00
Schuyler Cebulskie
e3b2f1f3da Fix require path 2016-10-09 15:08:21 -04:00
Schuyler Cebulskie
dabe51fc8d Reorganise disabledEvents stuff 2016-10-09 14:41:57 -04:00
Schuyler Cebulskie
7b571f9729 Add escapeMarkdown util function 2016-10-09 14:32:48 -04:00
Programmix
3e2d6ccc48 Convert disabledEvents Array to Object (#786)
* Convert disabledEvents Array to Object

Increased performance

* Commit to please Lord Gawdl3y

* Nitpick with chopsticks
2016-10-09 14:22:52 -04:00
Programmix
4653f88555 Add disabledEvents option to Client (#784) 2016-10-09 18:27:31 +01:00
Schuyler Cebulskie
da5183a5d5 Expose splitMessage 2016-10-08 00:12:03 -04:00
Gus Caplan
1c4ed4547f adds new WebhookClient and allows you to fetch channel webhooks and such without being "over the top" (#768)
* start blocking out client

* proto webhookclient

* wee working webhooks

* it's all working

* run docs

* fix jsdoc issues

* add example for webhookClient

* add example in the examples place

* fix docs
2016-10-07 19:09:41 +01:00
Schuyler Cebulskie
f9b7f9c27e Add readonly 2016-10-06 21:49:08 -04:00
Schuyler Cebulskie
79b0d3f2a5 Client.readyTime -> readyAt (consistency) 2016-10-06 21:48:25 -04:00
Schuyler Cebulskie
93425c3979 Expand collection array caching 2016-10-04 19:10:29 -04:00
Schuyler Cebulskie
2c3c91fe41 Merge branch 'master' into indev 2016-10-04 19:02:09 -04:00
Slamakans
53f5c2cb52 Cache array and keyArray in Collection (#771)
* Cache array and keyArray in Collection

Cache array and keyArray in the Collection class to improve consecutive
calls of collection.random() by around 400,000%, I think lel.

The speed decrease (I assume) compared to the previous version when
calling after it has changed is most likely negligible.

* Fix for ESLint

I think this fixes it.
2016-10-04 18:53:26 -04:00
Schuyler Cebulskie
8d777db1d1 Clean up status type error 2016-10-03 20:27:41 -04:00
Schuyler Cebulskie
e24c9c271e Quite possibly fix annoying bug Evie was complaining about 2016-10-03 20:25:39 -04:00
Programmix
c4e1e4f50f Add InviteResolvable (#766)
* Add InviteResolvable

Add InviteResolvable

* Return data as fallback instead

* Rename resolver method
2016-10-02 19:21:08 -04:00
Amish Shah
57a418399b start some stuff on UDP 2016-10-02 17:28:48 +01:00
Amish Shah
c75782781b finish up voice websocket for now 2016-10-02 16:51:40 +01:00
Schuyler Cebulskie
77e37b62ef Fix sendMessage with no content and split/disableEveryone 2016-10-02 11:14:32 -04:00
Amish Shah
2bb6ecdc28 documentation 2016-10-02 15:16:54 +01:00
Amish Shah
ed8b79aa46 Add session description and speaking listeners 2016-10-02 15:12:43 +01:00
Amish Shah
e201e9080f start rewriting voice websocket 2016-10-02 14:59:05 +01:00
Schuyler Cebulskie
51f30d6e4c Add nickname mention format to GuildMember.toString 2016-10-02 01:51:14 -04:00
Programmix
d35372d3e9 Fix MessageCollector.next edge case (#765) 2016-10-02 00:23:35 -04:00
Amish Shah
c286c1443f voice rewrite part 1 2016-10-01 22:23:00 +01:00
Programmix
1fcc618532 Fix removeListener call (#762) 2016-10-01 16:22:32 -04:00
Programmix
34168eb832 Create MessageCollector.next (#761)
Allows using await with message collectors (ES7)
Hydrabolt approved™
2016-10-01 20:29:15 +01:00
Amish Shah
530035e14b Fix stacked heartbeats on reconnect and fix documentation 2016-10-01 20:21:38 +01:00
Amish Shah
7c26603773 Fix presences probably ¯\_(ツ)_/¯ 2016-10-01 15:27:56 +01:00
Amish Shah
ab15c45d96 fixed role stuff 2016-10-01 11:21:35 +01:00
Schuyler Cebulskie
9063aa8abf Merge master 2016-10-01 03:44:43 -04:00
Schuyler Cebulskie
2acfb16cb8 Fix Guild.emojis doc 2016-10-01 03:41:49 -04:00
Schuyler Cebulskie
66beeb9535 Add role position comparison methods 2016-10-01 03:32:08 -04:00
Schuyler Cebulskie
93cf34a814 I found some more. 2016-10-01 02:58:32 -04:00
Schuyler Cebulskie
d1e07674b8 Make GuildMember.kickable/bannable take role IDs into account 2016-10-01 02:54:25 -04:00
Schuyler Cebulskie
db815d4d9f I'm gonna need more derps to fix. 2016-10-01 02:47:17 -04:00
Schuyler Cebulskie
d246982a61 Fix another derp wooo 2016-10-01 01:42:13 -04:00
Schuyler Cebulskie
a441aaf546 Fix derp in GuildMember.kickable/bannable 2016-10-01 01:27:11 -04:00
Schuyler Cebulskie
8945344a3b Improve role position updating (allows for <=0) 2016-09-30 22:51:37 -04:00
Schuyler Cebulskie
c2c477834f Add Role.setMentionable 2016-09-30 22:48:25 -04:00
bdistin
428ee2f718 Added .missingPermissions() (#756)
* Added .missingPermissions()

* Added .missingPermissions()

* Fixed docs for .missingPermissions()

* Fixed Travis CI trailing spaces?

* Fixed Travis CI trailing spaces?
2016-09-30 22:08:19 +01:00
Schuyler Cebulskie
b1322cbc69 Initialise and document StreamDispatcher.paused 2016-09-30 03:12:01 -04:00