Commit graph

1419 commits

Author SHA1 Message Date
Gus Caplan
4127cf6e40 Experimental support for Audit Logs (#1403)
* start audit logs

* make better var types so gawdl3y doesn't shit on this

* add constructor stuff

* make more changes

* add entry creation

* add methods

* make it all work hopefully

* aaa

* aaaa

* i wish i could test this locally

* fix users, guild when i feel like it

* make guild prop non-enumerable

* make better types

* change nouns

* e

* Update GuildAuditLogs.js

* Update GuildAuditLogs.js

* Update GuildAuditLogs.js

* eek

* Update GuildAuditLogs.js

* Update GuildAuditLogs.js

* friggin trailing spaces

* Update GuildAuditLogs.js

* docs!

* Update GuildAuditLogs.js

* reason stuff

* Update GuildAuditLogs.js

* Update GuildAuditLogs.js

* support before/after for pagination

* Update Guild.js

* Update GuildAuditLogs.js

* mfw using github web editor

* fix build

* Update Guild.js

* amazing cache fuckery shit evil

* cool stuff

* make building audit logs nicer

* ban endpoint stuff

* dox

* <.<
2017-04-29 20:34:57 +01:00
Amish Shah
b0a3528411 sorry gus i borked 2017-04-29 20:00:05 +01:00
Amish Shah
5b2ca326d4 ESLint pls >.> 2017-04-29 18:07:48 +01:00
Amish Shah
f7d65991d5 Minor refactor of Actions 2017-04-29 17:56:36 +01:00
Amish Shah
dd8f77fcf0 Stop the EventEmitter debug warnings when fetching lots of guilds before ready 2017-04-29 17:46:36 +01:00
Amish Shah
584961b04b Debug resume from connection not Client 2017-04-29 15:58:12 +01:00
Amish Shah
2e33bf583e Try to fix StreamDispatchers (#1387) 2017-04-29 15:12:34 +01:00
SpaceEEC
88aa947376 Make MessageMentions#channels return an empty collection in DMs (#1430)
* Make MessageMentions#channels return an empty collection in DMs

* reduce code duplication and corrected docstring
2017-04-29 14:33:18 +01:00
stupid cat
d6b7d31047 Better ClientUser#setStatus for self bots (#1428)
* better setstatus for selfbots

* make both calls

* must return

* use setpresence, set invisible
2017-04-29 14:31:32 +01:00
Will Nelson
13672cc637 Export ReactionCollector and Collector (#1426) 2017-04-29 14:27:39 +01:00
SpaceEEC
956372731f Using ws.connection.status rather than undefined ws.status (#1429) 2017-04-28 21:27:30 +02:00
Drahcirius
9ee695a291 incorrect variable name convention (#1427)
I'm not pr farming, I swear.
Gus told me to fix it.
2017-04-28 19:46:24 +02:00
Will Nelson
35c4c552f4 [wip] Fix collector documentation (again) (#1416)
* remove private on abstract methods, fix timeout type

* make client readonly, add documentation to abstract methods

* document implemented collector methods
2017-04-28 19:45:46 +02:00
Drahcirius
89745fe132 emojis should use cdn endpoint (#1425) 2017-04-28 18:47:18 +02:00
Drahcirius
2accb7b6fd small typo fix in emoji id endpoint (#1424) 2017-04-28 18:11:12 +02:00
Amish Shah
195fcfa15c Rewrite WebSocket internals (#1410)
* Start rewriting Manager and Connection

* more stuff

* stuff

* Fix ready bug

* some stuff i forgot

* fix some stuff

* add stupid heartbeat ack like seriously who cares

* woo!

* fix a bug

* rate limit the dumb websocket

* stuff

* hdocs

* Docs

* Remove ClientManager#setupKeepAlive as it is now redundant

* Change Client._pingTimestamp to a getter that fetches the timestamp from the WebSocketConnection

* are you happy now eslint smh

* make gus happy

* Add CloseEvent external doc

* Make sure to emit 'reconnecting' when actually reconnecting

* ffs

* Fix RESUME logic

* Add heartbeat ack debug messages, including latency data

* Dumb stuff for Gus

* thx eslint

* more dumb stuff

* more dumb crap smh gus i h8 u

* moar messages

* fix for using wrong status, causing certain events not to be fired (#1422)
2017-04-28 16:13:06 +01:00
SpaceEEC
95bcac9d9b Throwing 'Message not found' error when fetching from empty channel or without read history permission. (#1394) 2017-04-28 17:02:52 +02:00
Gus Caplan
1601ad14e3 i hate my life (#1420) 2017-04-27 00:21:03 +02:00
Gus Caplan
5ac22691d2 Add TextBasedChannel#nsfw (excluding User and GuildMember) (#1419) 2017-04-26 23:01:27 +01:00
bdistin
298ee4e79f Throw an error if you try to initiate a new SnowflakeUtil class instance (#1413) 2017-04-25 23:29:30 +02:00
SpaceEEC
909b825c94 Fixed acknowledging of channels (#1411)
* Fixed acknowledging of channels

* using channel#lastMessageID and resolve when it's not present
2017-04-25 23:29:08 +02:00
Gus Caplan
c670209021 allow search('string here') (#1408) 2017-04-24 16:43:30 +02:00
Crawl
53eda09f72 Improve docs 2017-04-24 16:29:29 +02:00
SpaceEEC
401822a094 Made search argument optional, added useronly warning and fixed endpoint (#1407) 2017-04-24 14:31:39 +02:00
Gus Caplan
59e733cef6 deprecate aliases (#1397)
* hype

* add doc dep tags

* fix that

* hopefully fix docs

* Update TextBasedChannel.js
2017-04-24 08:05:24 +02:00
Crawl
96041dbd3a Fix doc string 2017-04-23 08:51:07 +02:00
Crawl
6abe014ac3 Change theme prop type 2017-04-23 07:04:44 +02:00
Crawl
c095610bb4 Change docstring 2017-04-23 06:50:43 +02:00
Amish Shah
26069a44e2 nope i was right the first time 2017-04-22 21:23:20 +01:00
Amish Shah
3465a154d5 that should be 60 tbh 2017-04-22 21:20:50 +01:00
Amish Shah
eec79b5fd0 Increase WebSocket backoff time to alleviate reconnect issues 2017-04-22 21:16:58 +01:00
SpaceEEC
5b3e971c5c Message.editedTimestamp should be a number (#1402) 2017-04-22 16:54:48 +02:00
Will Nelson
794c0e131d how2docs (#1400) 2017-04-22 01:56:23 +02:00
Amish Shah
5605dc04e1 Fix #1399 (Trying to unset games with values other than null doesn't end up displaying properly for mobile clients) 2017-04-21 11:42:19 +01:00
Will Nelson
94e2a85386 Docs fixes (#1398)
* fix collector docs

* fix message collector param type
2017-04-21 09:44:59 +02:00
Isabella
a652901d60 Throw Error for non role-resolvables (#1322)
* throw error for role names/integers being provided for role resolvables

* Update RESTMethods.js

* Update RESTMethods.js

im really bad

* Update RESTMethods.js

* removed new promise reject

ty gus

* Update RESTMethods.js

* move error to guildmember.addRole method

* Update GuildMember.js
2017-04-19 18:57:54 +02:00
Will Nelson
ca34c43ba0 Add message reaction collectors & abstract collectors (#1335)
* message reaction collectors

* docs cleanup

* abstraction

* remove pointless method

* rename reaction collector creator method

* docs and stuff

* fix docs & build

* backwards compatibility, fix docs

* fix docs

* remove deprecated comments

* betterer docs again

* Fix documentation

* Fix Alias to not break depreciated code
2017-04-19 18:52:40 +02:00
Skiptir Engu
8475a4abee Use libsodium.js if available (#1390)
* Use libsodium.js if available

* Style consistency

* Added peer dep and update README

* Link should point to npmjs 🤔
2017-04-19 18:35:45 +02:00
Crawl
27114eebf9 Commit those in LF too 2017-04-19 18:17:23 +02:00
Crawl
1897b4f4d6 Commit those in LF 2017-04-19 18:14:37 +02:00
Schuyler Cebulskie
b7e16ad4b8 Revert "use LF instead of CRLF (#1392)"
This reverts commit 5e522e0a2e.
2017-04-18 22:41:08 -04:00
Gus Caplan
5e522e0a2e use LF instead of CRLF (#1392) 2017-04-18 21:43:05 +01:00
Gus Caplan
0d83f80fc0 Fix endless reconnection bug (#1389) 2017-04-17 12:32:26 +01:00
Mr. Sakamoto
4aa82b4fdf fix Guild setOwner example (#1383)
* fix Guild setOwner docs

* hello s and bye s
2017-04-15 22:13:20 +02:00
Crawl
930519c494 Update AudioPlayer.js 2017-04-13 03:17:00 +02:00
Amish Shah
8ddaa1b92c Merge branch 'master' of https://github.com/hydrabolt/discord.js 2017-04-12 21:22:14 +01:00
Amish Shah
78895ace17 Fix reactions not being uncached once they hit a count of 0 2017-04-12 21:22:08 +01:00
SpaceEEC
d54ef0eea4 fix (#1375) 2017-04-12 22:06:05 +02:00
Amish Shah
dce8e83465 Add VoiceConnection#dispatcher 2017-04-12 20:36:03 +01:00
Amish Shah
36c03909dd Clean up AudioPlayer internals, change currentDispatcher and currentTranscoder to just dispatcher and transcoder 2017-04-12 20:32:50 +01:00
Amish Shah
9eaf1456b2 Clean up AudioPlayer internals, remove the concept of multiple "temporary" streams 2017-04-12 20:12:51 +01:00
SpaceEEC
d0c2b84659 Fixed Util.arraysEqual, made it better and updated its docs (#1374)
* commit

* improved docs
2017-04-12 19:37:31 +02:00
SpaceEEC
81d7dbdc76 Fix resolveEmojiIdentifier (#1373) 2017-04-12 17:15:23 +01:00
Lana Reeve
40c610987e Improved EmojiIdentifierResolvable support (#1361)
* EmojiIdentifierResolvable now supports emoji IDs and pre-encoded unicode

* forgot to return the identifier and not the emoji itself

* using ? in JSDoc instead of |null
2017-04-12 06:32:18 +02:00
bdistin
c5e2ea7458 Break reconnect loop if you client.destroy in the disconnect event (#1371)
* Break reconnect loop if you client.destroy in the disconnect event

* fix lint/long line?

* God this is So UGLY, why...

* Update WebSocketManager.js

* Update WebSocketManager.js
2017-04-12 06:31:45 +02:00
aemino
39f7dc018a Make FEC and PLP non-default (#1372)
I considered it might be useful to have something exposed that allows the end-user to set these if they want, but our current code doesn't allow for that. It'll remain an internal feature for the time being.
2017-04-12 06:30:48 +02:00
SpaceEEC
6187c17097 readded inviteLink endpoint (#1369) 2017-04-11 22:21:28 +02:00
xDdude
a49d4e6d43 getters for decibel and logarithmic volume (#1355)
* getters for decibel and logarithmic volume

I don't really understand where the conversion numbers come from but having this allows for an easy way to get the volume back based on what method you used to set it. I think the math is right, but yeah I've just used the conversion numbers from the other methods.

* fix trailing spaces
2017-04-11 18:21:00 +01:00
Drahcirius
84aab1021a reaction remove fix (#1366) 2017-04-11 18:10:14 +01:00
Amish Shah
25e0048bbf remove useless waiting reference 2017-04-11 17:59:27 +01:00
Gus Caplan
8dfc96d460 fix message acking (#1368) 2017-04-11 17:54:25 +01:00
Amish Shah
6495df50f9 Fix sequential rate limiting 2017-04-11 17:54:03 +01:00
bdistin
9365272baf Fix embeds getting converted to collection on edgecase (#1356) 2017-04-10 14:30:06 -04:00
SpaceEEC
e60d2bd175 Fix MessageMentions properties always being null or empty (#1357) 2017-04-10 20:06:00 +02:00
Gus Caplan
0a56fa0aae websocket cleanup (#1346)
* websocket cleanup

* resume event

* Update Resumed.js

* Update WebSocketManager.js
2017-04-10 20:02:17 +02:00
Gus Caplan
8436cbe8b1 Update User.js (#1351) 2017-04-10 16:20:07 +01:00
aemino
6d4fe89212 Volume stuff docs fixes (#1354)
* Volume stuff docs fixes

* 10/10 for spelling
2017-04-10 11:50:33 +01:00
Schuyler Cebulskie
3bc90dcbf1 Add export for MessageMentions 2017-04-10 03:21:14 -04:00
Schuyler Cebulskie
ebcf61ff9c Remove MessageMentions constructor docs 2017-04-10 03:12:57 -04:00
Schuyler Cebulskie
4fa5ceed83 Fix some docstrings 2017-04-10 03:07:05 -04:00
Schuyler Cebulskie
fa016b6b41 Clean up Message#mentions and message updates 2017-04-10 03:01:50 -04:00
Crawl
878e5d7c76 Fix example typo 2017-04-10 00:39:07 +02:00
Gus Caplan
e5293647a3 (╯°□°)╯︵ ┻━┻ (#1347) 2017-04-07 12:13:13 +02:00
aemino
ab589fa5f2 VoiceConnection speaking bugfix (#1343)
Looks like I made a typo...
2017-04-06 16:20:34 +02:00
Crawl
d1d8179460 Revert "add auth session change handling" (#1342)
* Revert "User settings (#1337)"

This reverts commit 801633b970.

* Revert "add auth session change handling (#1339)"

This reverts commit 5d85de0883.
2017-04-06 13:50:31 +02:00
Gus Caplan
801633b970 User settings (#1337)
* user settings bruh

* remove development dump

* emit stuff

* i am so done

* Update ClientUserSettings.js

* modularize

* Update ClientUserSettings.js

* Update Constants.js

* Update ClientUserSettings.js

* Update RESTMethods.js

* Update ClientUserSettings.js

* <.<
2017-04-05 22:03:33 +02:00
Gus Caplan
5d85de0883 add auth session change handling (#1339)
* add auth session change handling

* eek
2017-04-05 21:52:55 +02:00
SpaceEEC
6ce24398ab Fix messageReactionAdd internally & doc fix (#1341) 2017-04-05 21:34:14 +02:00
Amish Shah
970bfffc46 Fix emoji events (fixes #1333) 2017-04-05 17:05:27 +01:00
SpaceEEC
ecb8655dac Document readonly and private properties (#1338) 2017-04-03 20:05:36 +02:00
Crawl
4be08406e6 Fix travis build error 2017-04-03 02:06:08 +02:00
Crawl
047cd2da5c Fix fetchRecommendedShards 2017-04-03 01:51:15 +02:00
Crawl
6910585f69 Fix lowercase comments 2017-04-02 19:47:00 +02:00
aemino
8716702b59 Add FEC and PLP support for Opus encoding (#1264)
* Add FEC and PLP support for Opus encoding

* Silently fail if the Opus engine doesn't support CTL

* Fixed inversed max/min functions
2017-04-02 19:43:46 +02:00
Crawl
09489e2b9f Fix indent on doc string 2017-04-01 21:19:39 +02:00
Isabella
d189b51da5 explicit content filter for guilds (#1329) 2017-04-01 21:16:30 +02:00
SpaceEEC
270bbc2731 to Endpoints.CND with you (#1330) 2017-04-01 21:16:15 +02:00
Crawl
7ffbbc7f07 Fix _sortedRoles in Role.js 2017-04-01 16:28:19 +02:00
Crawl
358131fb6f Fix _sortedRoles in Guild.js 2017-04-01 16:27:55 +02:00
SpaceEEC
d2e3d6dc63 replaced 'del' with 'delete' (#1328) 2017-04-01 16:16:05 +02:00
Gus Caplan
cb3f6d9646 http rewrite (actually works this time!!1!) (#1257)
* rewrite http

* browser fun

* all the mimes dammit

* i need a newline

* whoops

* forgot about this

* use promises and HTTPRequest.method

* fluent

* move httpclient to external module

* branding

* middleware

* revert middleware
2017-04-01 09:04:01 +02:00
Gus Caplan
a4e0af2e45 make positions for channels and roles nicer (#1211)
* make role calculated position nicer

* make channels sortable in a nice way too

* stupid git web rebase editor

* Update Guild.js

* Update Guild.js

* Update Guild.js

* Update Guild.js

* Update RESTMethods.js
2017-04-01 08:28:54 +02:00
TimeForANinja
c4e5292516 resolve for not loggedin clients (#1301) 2017-04-01 08:05:46 +02:00
bdistin
bca101aac8 Fix for #1089 & Message Reactions (#1236)
* [requires more testing] Fix #1089

* Clean up unshift

* Remove <Message>.patch(data)

Nothing calls this method any longer. It is also a private method, so this shouldn't be a breaking change.

* Fix Message Reactions

Purposely reference previous reaction collections, so collection is consistant accross all message edits (no unnecisary data duplication). Makes #1221 extranious.

* Some Data Packets come Incomplete

And several properties can be falsy, so instead of || opted for hasOwnProperty().

* No reason MessageTypes should be an object...

* Use `prop in obj` isntead of hasOwnProp

per @Gawdl3y
2017-04-01 01:51:12 -04:00
SpaceEEC
07740955cf Fixing stuff, borked by #1323 (#1326)
* several things

* see my comment

* Fixed missing stuff and returned undefined
2017-04-01 07:29:31 +02:00
Gus Caplan
305a7d14af whoops (#1325) 2017-03-31 23:13:41 +02:00
Gus Caplan
e86ec7de6f Update Constants.js (#1324) 2017-03-31 19:42:16 +02:00
Gus Caplan
1df3b84da6 rewrite endpoints for consistancy and modularity (#1323)
* rewrite endpoints for consistancy and modularity

* clean up a bit

* add missing endpoint
2017-03-31 18:36:09 +01:00
SpaceEEC
e08f2bad30 Add guild#createRole resolve permissions and RoleData optional (#1321)
* resolving permissions

* make RoleData optional
2017-03-31 12:55:23 +02:00
Crawl
f73e6a3e4d Fix typo in MessageEmbed#video 2017-03-30 22:14:06 +02:00
Gus Caplan
dd3831fa1e Remove type error from Collection#exists() (#1320) 2017-03-30 11:01:07 -04:00
1Computer1
5334682682 Add missing properties for MessageEmbed (#1300)
* Add missing properties

* Derp
2017-03-30 08:47:34 -04:00
Gus Caplan
104f3397af Add defaultRole to guild ((╯°□°)╯︵ ┻━┻) (#1311)
* (╯°□°)╯︵ ┻━┻

* Update Guild.js
2017-03-30 08:44:08 -04:00
Vap0r1ze
61f5051dfd Fix invite resolver (#1318)
Old version only worked with temporary links.
Now works with: vanity invites, and permanent invites.
2017-03-30 08:41:18 -04:00
SpaceEEC
55141b408b Fix (#1306) MessageRection#fetchUsers() return a collection istead of an array 2017-03-30 12:02:00 +02:00
Schuyler Cebulskie
c73b9483f4 Clean up and add comments 2017-03-22 01:16:30 -04:00
Schuyler Cebulskie
cff7069275 Switch from for..of to forEach 2017-03-22 01:12:46 -04:00
Drahcirius
8444f19662 Added mentions.members (#1271)
* Added mentions.members

* made member.mentions undefined on when not on guild channel

* changed property to getter

* Update Message.js
2017-03-22 01:08:25 -04:00
SpaceEEC
beffcd31cd fix guildWebhooks endpoint (#1284) 2017-03-21 16:31:02 +00:00
Gus Caplan
dd8907472c nonce has to be a uint64 :< (#1240)
* nonce me daddy

* Update RESTMethods.js

* Update RESTMethods.js

* Update RESTMethods.js

* Update RESTMethods.js

* Update RESTMethods.js

* Update RESTMethods.js

* (╯°□°)╯︵ ┻━┻

* Update RESTMethods.js

* Update RESTMethods.js
2017-03-21 03:17:20 -04:00
Gus Caplan
3e0c0f44a2 make useragent better because data is fun (#1244)
* Update UserAgentManager.js

* Update UserAgentManager.js

* gawdl3y is one of the most pants-on-head retarded people i have ever met

* Update UserAgentManager.js

* Update UserAgentManager.js

* Update UserAgentManager.js

* Update UserAgentManager.js
2017-03-21 03:12:20 -04:00
Schuyler Cebulskie
58068fdae9 Change check for array/number, and fix docs 2017-03-21 02:53:08 -04:00
Schuyler Cebulskie
245bd91101 Allow Permissions constructor to take array of perms 2017-03-21 02:45:11 -04:00
Schuyler Cebulskie
79278bccb4 Fix Permissions.resolve to return a combined bitfield for arrays 2017-03-21 02:16:18 -04:00
Programmix
633e3ca896 Fix addRole/removeRole when the user has/doesn't have the role (#1288) 2017-03-21 01:52:43 -04:00
Schuyler Cebulskie
2e54f6d90d Was worth a shot 2017-03-21 01:49:12 -04:00
Pg Biel
64ce829ab2 Make FetchMessage work for non-bot users (#1291)
* [WIP] make fetchMessage work for normal users

wip

* Actual thing

* not WIP anymore

better docs

* oops

* better stuff

* Update TextBasedChannel.js

* Update TextBasedChannel.js

* Update TextBasedChannel.js
2017-03-21 01:42:39 -04:00
Schuyler Cebulskie
2349238f69 Fix #1287 (Role#serialize) 2017-03-21 01:24:53 -04:00
Schuyler Cebulskie
136cab240d Add new ESLint rules 2017-03-17 01:23:39 -04:00
Crawl
2237749d29 Fix richEmbed attachFile 2017-03-16 17:07:11 +01:00
SpaceEEC
6983798820 Fix optional args for sendFiles (#1278) 2017-03-16 16:20:37 +01:00
Gus Caplan
94062d19dd Add message/channel/guild acknowledging (#1239)
* add acking

* 👀

* Update RESTMethods.js

* Update TextBasedChannel.js

* Update RESTMethods.js

* Update Guild.js

* Update TextBasedChannel.js

* Update Message.js

* super shitty names

* Update GroupDMChannel.js

* Update DMChannel.js

* Update TextChannel.js
2017-03-16 09:38:12 -04:00
Gus Caplan
fa609caee2 remove pako (#1258) 2017-03-16 09:15:48 -04:00
Crawl
1f2d8bfbc1 Add missing sendFiles doc and on channels 2017-03-16 00:47:05 +01:00
bdistin
8729ee6a1d Fix #1253: Permission Overwrites Resolution (#1255)
* Fix #1253

* apparently @ everyone role can be undefined

* Fix oops

* Fixes possible mutiple roles named '@​everyone'

* Clean up order/logic
2017-03-15 15:29:34 +01:00
Gus Caplan
a82d9f1fbb add multi-file support (#1268)
* add multi-file support

* (╯°□°)╯︵ ┻━┻

(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻

* stupid git web rebase editor - Gus2k17

* Update TextBasedChannel.js

* Update TextBasedChannel.js
2017-03-15 15:10:49 +01:00
SpaceEEC
6b26d28c06 Fix (#1262)
Not ignoring the filterOld boolean when a number is being passed instead of collection or array
2017-03-14 22:58:21 +01:00
Crawl
4ef0ec491c Add arrow-parens eslint rule & fix inconsistencies 2017-03-13 15:56:00 +01:00
Motion
cee0d58fb8 Added docs warning for acceptInvite method (#1267)
Added docs warning for acceptInvite method (user account only iirc)
2017-03-13 07:04:31 +00:00
1Computer1
bbd89585c6 Add RichEmbed fields error handling (#1243)
* RichEmbed fields error handling

* Fix consistency

* Update RichEmbed.js
2017-03-09 20:58:46 -05:00
bdistin
14ae7cdf17 [Docs] Evaluated Permissions References (#1250)
* Docs / Permissions Overwrites Reference

* Docs / Evaluated Permissions Reference

* Clarify role.permissions is not evaluated

* Update Role.js
2017-03-09 18:32:44 -05:00
Gus Caplan
2897692cf1 fix created timestamp precision (#1241)
* fix created timestamp precision

* perf

* Update Snowflake.js

* gawdl3y was butthurt

* Update Snowflake.js
2017-03-09 18:31:31 -05:00
Schuyler Cebulskie
21babf8859 Update GuildMember#hasPermission(s) to match Role 2017-03-07 02:53:12 -05:00
Schuyler Cebulskie
3e5096f9fe Update Role#hasPermission, and deprecate hasPermissions 2017-03-06 19:58:42 -05:00
Schuyler Cebulskie
df2333ac82 Fix Role#hasPermission 2017-03-06 19:38:58 -05:00
Schuyler Cebulskie
b926cd0dcd Remove redundant Markdown 2017-03-06 12:22:53 -05:00
Schuyler Cebulskie
6211119928 Fix Permissions.ALL on Node 6 2017-03-06 12:21:42 -05:00
Schuyler Cebulskie
4f7e0c41ee Doc fixes 2017-03-06 02:34:39 -05:00
Schuyler Cebulskie
30dd9be900 Pass the member into new Permissions instances 2017-03-06 02:29:35 -05:00
Schuyler Cebulskie
427eec8ccb Fix ESLint failure 2017-03-06 02:27:04 -05:00
Schuyler Cebulskie
16fe48d405 Overhaul Permissions utilities (EvaluatedPermissions no more) 2017-03-06 02:22:42 -05:00
Programmix
055775de2f Fix for #1219 (sodium methods) (#1220)
* Change node-opus methods

* Try using crypto_secretbox(_open)_easy

* Wrong open method name
2017-03-04 08:33:19 +00:00
Amish Shah
33de408a70 fix bulk delete endpoint 2017-03-04 00:35:54 +00:00
1Computer1
e7b0afbd1f Add color role, hoist role getters to GuildMember (#1188) 2017-03-01 04:53:12 -05:00
Schuyler Cebulskie
a5740e83f4 Change burst mode warning 2017-03-01 04:51:46 -05:00
Schuyler Cebulskie
7473fd513e Remove InviteOptions typedef, rephrase 2017-03-01 04:48:26 -05:00
SpaceEEC
fc42a46e5b Invite options (#1223)
* test

* updated descripton

* Update GuildChannel.js
2017-03-01 04:45:05 -05:00
bdistin
25bb602d5a Add Collection.clone() (#1238)
* Add Collection.clone()

* More efficient cloning, and concat update

* Update Collection.js

* Update Collection.js
2017-03-01 04:41:36 -05:00
Kelvin Wu
01d8d32ea9 Add typedef for GuildmemberEditData. (#1230)
* Add typedef for GuildmemberEditData.

* Farm commits

* Make terms consistent.
2017-03-01 04:36:17 -05:00
lipgloss
0e6b5e9193 Change update to create (#1231) 2017-02-27 07:03:24 +00:00
Amish Shah
dfb1a16e9e One-line an if statement 2017-02-25 23:26:40 +00:00
Programmix
275c9953a0 Fixes disconnecting VoiceConnections before connected (#1227) 2017-02-25 23:17:39 +00:00
Schuyler Cebulskie
f3a7f59824 Several improvements
- Rename Guild#updateChannelPositions -> setChannelPositions
- Allow Guild#setChannelPositions to take ChannelResolvables
- Prioritise ClientDataResolver#resolveChannel's string case
- Minor cleanup
2017-02-25 15:29:32 -05:00
Amish Shah
18bcd2f7e2 Add AudioPlayer.currentDispatcher 2017-02-25 11:12:17 +00:00
Programmix
a029999b09 Doc fixes, mostly pertaining to Snowflakes (#1218)
GUS!!!! @GusCaplan
2017-02-24 15:33:51 -05:00
Programmix
76637ed10d Fix VoiceDispatcher docs (#1214) 2017-02-23 21:42:41 -05:00
Amish Shah
70b35c85d6 Merge branch 'indev-prism' 2017-02-23 20:19:26 +00:00
Programmix
bf25caf3d3 Updated VoiceConnection to use new Util class (#1210)
pls @Gawdl3y pls
2017-02-22 22:10:26 +00:00
Amish Shah
b55e6927e9 merge fix 2017-02-22 20:39:21 +00:00
Amish Shah
8a2ec437e5 Merge branch 'master' into indev-prism 2017-02-22 20:37:59 +00:00
Gus Caplan
4c9d8d6cd7 add lots of group dm features (#1208)
* group dm stuff

* minor doc changes
2017-02-22 20:33:20 +00:00
Joschua Schneider
5c2086b351 Allow presence updating to allow null games (#1186)
* Adding resetGame functionallity

`setGame` method would allways result in an Object passed to `setPresence`.
Passing { game: null } (supported by discords WebSocket gateway to reset the current Game) to `setPresence` would still result in a Game Object sent to the endpoint.
Explicitly setting `game` to null should overwrite the `game` object provided by `localPresence` or `client.presence`.
This was neither supported by `setGame` or `setPresence`.

* Missing semicolons to resetGame and setPresence

* Fixing trailing spaces, commas and semicolons

* Moving resetGame functionality into setGame method

Minification of if statement in setPresence.
Removing resetGame method and adding a case for `game === null` to setGame method

* Adding missing space in setGame method

* Fix docs
2017-02-22 20:24:39 +00:00
lipgloss
f068010e96 Implement 'Modify Guild Channel Positions' (#1198)
* Adding shuffleArray method to utils

* Shuffle channels functionality on guild.

* Comment fix

* Removing shuffle functionality and replacing with a simple update

* Code review changes to method/variable names

* Update comment reference to channelId as well

* Updating jsdoc with typedef of ChannelPosition
2017-02-22 20:24:05 +00:00
Programmix
7fd94c29d8 VoiceConnection rework (#1183)
* VoiceConnection rework

- improves codebase
- removes concept of pending connections
- attempts to fix memory leaks by removing EventEmitter listeners
- makes voice connections keep track of its own channel when it is moved by another user
- allows voice connections to reconnect when Discord falls back to another voice server or a region change occurs
- adds events for some of the aforementioned events

* Removed unused code

* More clean up / bugfixes

* Added typedefs to Status and VoiceStatus constants
2017-02-22 20:13:52 +00:00
Gus Caplan
566135d25b move permission stuff to the resolver (#1185) 2017-02-22 20:11:11 +00:00
Programmix
eb069d0249 Added volumeChange event to VoiceInterface (#1207)
VoiceBroadcast relies on this event to initialize a new Opus engine
2017-02-22 20:10:19 +00:00
Gus Caplan
61e12c637b Add support for more OAuth features (#1203) 2017-02-22 20:09:40 +00:00
Programmix
d09dfa4c37 Capitalize channel type constants (#1209) 2017-02-22 20:08:47 +00:00
Schuyler Cebulskie
b0338df7db Add more required permissions to Guild#addMember 2017-02-21 15:09:46 -05:00
Schuyler Cebulskie
8d1bc30e40 Clean up dd6dd6f 2017-02-21 15:07:54 -05:00
Zack Campbell
db5259cdf1 Add RichEmbed#attachFile (#1202)
* Add RichEmbed#attachFile

Mostly for attaching local images that can be accessed within the embed image/author icon/footer icon via `attachment//filename.png` and the like.

* Update docstring to reflect valid param types

* Update TextBasedChannel.js

* Update RichEmbed.js

* Update RichEmbed.js
2017-02-21 14:29:37 -05:00
Gus Caplan
d4a84915e6 Add timeout/interval methods to WebhookClient (fixes #1181), and clean up docs (#1204)
* fix up 1181

* Clean up documentation

* Update WebhookClient.js
2017-02-21 14:16:41 -05:00
Schuyler Cebulskie
f2a6c1d98c Improve Client docs a bit more 2017-02-21 14:02:29 -05:00
Kelvin Wu
d870b27ece Message#member should be a nullable. (#1205) 2017-02-21 13:49:20 -05:00
Jamelele
1273bb42ec Doc fixes (#1197)
* Improve ban/unban examples

* Fix example comments

* Replace nondescript 'user' parameter with 'some user ID'

* Update Guild.js

* Update Guild.js
2017-02-19 16:06:18 -05:00
Schuyler Cebulskie
7232531eb1 Move all util methods into class
Remove TransformMessageOptions altogether
2017-02-15 22:25:18 -05:00
Schuyler Cebulskie
b91f8f27be Fix resolveBuffer file failure behaviour 2017-02-15 16:37:31 -05:00
Gus Caplan
ec1ed15c88 Fix request handling (#1180)
* clean up ratelimiters, and disable burst until some big questions are handled

* burst mode is a work

* fix burst again
2017-02-11 12:04:24 +00:00
Mike
dd6dd6fb59 Added support for adding users to guild 2 (#1179)
* Added support for adding users to guild

added RESTMethods#AddGuildMemberOptions and Guild#addMember with typedef
AddGuildMemberOptions to be able to add user to guild as a member
through `PUT/guilds/{guild.id}/members/{user.id}`
https://discordapp.com/developers/docs/resources/guild#add-guild-member

* fixing lint errors

* Changes based on discussion

* Changes based on discussion 2

* Changes based on discussion 3

Yay! More changes.
2017-02-08 21:04:39 +00:00
Zack Campbell
2518a0f7e2 Fix for incorrect oldMember in guildMemberUpdate event after addRole (#1129)
* Fix for incorrect oldMember in guildMemberUpdate event after addRole

`addRole` would modify the cached GuildMember rather than letting it be handled internally when a guild member update packet is received from Discord, leading to the `oldMember` and `newMember` being identical following a call to `addRole`

This is currently how `addRoles` does it, and a correct oldMember is passed to the `guildMemberUpdate` event following a call to `addRoles`

* Return cloned member with added/removed role

So we can return a member object with the added/removed role without affecting the member object sent to `guildMemberUpdate`

* Wait for guildMemberUpdate and return updated GuildMember

* Fix linter errors

* Remove listeners after 10 seconds
2017-02-08 17:38:57 +00:00
Will Nelson
cdb911f2af update setImage documentation (#1177) 2017-02-08 17:18:10 +00:00
Alexander
cc3e7b26b1 Add convenience function RichEmbed.addBlankField (#1139) 2017-02-08 17:17:13 +00:00
Gus Caplan
7c8f534a38 add random color (#1175)
* add random color

* Update ClientDataResolver.js

* Update ClientDataResolver.js
2017-02-07 01:19:43 -05:00
Alex
ab5e57d94b Create Emoji requires a base64 data uri (#1154) 2017-02-06 14:19:03 -05:00
Schuyler Cebulskie
d6f17a9319 Merge branch 'master' into indev-prism 2017-02-06 01:54:31 -05:00
Jacob
49944747ae Sodium (#1172)
* Use Native libsodium when available

* add newline

* fix typo of exports

* add to webpack ignore

* Update Secretbox.js
2017-02-06 01:24:54 -05:00
Schuyler Cebulskie
b859ba7639 Increase some documentation detail 2017-02-05 23:00:36 -05:00
Amish Shah
26becb570b Fix #1168 (.hasPermission) 2017-02-04 20:58:39 +00:00
Gus Caplan
59ff1d99ba fix types for snowflakes (#1156)
* fix types for snowflakes

* Update TextBasedChannel.js
2017-02-03 21:37:58 -05:00
Funnbot
0b5eeb08f3 clone topic in channel.clone() (#1157)
* Update GuildChannel.js

* Update GuildChannel.js

* Update GuildChannel.js

* Update GuildChannel.js

* Update GuildChannel.js

* Update GuildChannel.js
2017-02-03 21:37:32 -05:00
Gus Caplan
cee9e4839c fix sending code when you aren't splitting the message (#1162)
* fasguhq4wbyghjehuibh

kjgewqhuilb

* Update RESTMethods.js
2017-02-02 16:21:26 +00:00
Gus Caplan
1e94a9e2a4 serious role position stuff (#1159)
* serious role position stuff

* kill meh

* Update Role.js

* Update Guild.js

* Update Role.js
2017-02-01 22:02:16 +00:00
Schuyler Cebulskie
02c23a8b53 Merge branch 'master' into indev-prism 2017-02-01 15:32:18 -05:00
bdistin
a2d6791cd8 Fix CodeBlock Splitting (#1160)
* Fix CodeBlock Splitting

* fix changes requested
2017-02-01 15:31:57 -05:00
Schuyler Cebulskie
e8ac18489e Merge branch 'master' into indev-prism 2017-02-01 15:29:45 -05:00
Alex
ed42d7bd85 Fix backwards GuildEmojiCreate parameters (#1153) 2017-01-31 00:49:11 -05:00
Gus Caplan
8da915f6a1 expose createDM (#1151)
* expose createDM

* Update User.js

* in v12 we are removing these, kay?

* Update GuildMember.js

* Update User.js
2017-01-30 22:56:14 -05:00
Schuyler Cebulskie
f4724d61b2 Fix #1095 2017-01-30 22:54:37 -05:00
Gus Caplan
565c640bc6 Add role support to emoji creation (#1141)
* add role support to emojis

* specify types
2017-01-30 22:47:27 -05:00
Alex
18729b25c7 Add support to edit emojis (#1142)
* Add support to edit emojis

* Fixes for coding style.

* Add and use guildEmoji constants for updateEmoji

* Just use the Constant

* Fix typo in edit documentation

* Specify property types

* Fix ridiculous typo.

* Update Emoji.js
2017-01-30 22:47:05 -05:00
Programmix
78dafb9480 Properly check whether an Opus engine exists (#1150)
* Properly check whether an Opus engine exists

I think I'm retarded

* Fix eslint error

* Update OpusEngineList.js
2017-01-30 16:38:47 -05:00
Programmix
7ed58f5f7f Added Opus stream support, added volume interface (#1102)
* Added opus stream support, added volume interface

* Remove setImmediate

* Fix weird syntax error

* Most useless commit ever

You're welcome, @PgBiel

* Fix potential memory leak with OpusScript

Emscripten has the tendency to not free resources even when the Opus engine instance has been garbage collected. Thanks to @abalabahaha for pointing this out.

* Typo

* VoiceReceiver.destroy: destroy opus encoder
2017-01-29 19:07:33 +00:00
Programmix
5059c59a31 Message patching: clear mention collections (#1138)
* Message patching: clear mention collections

Fixes #1089
When discord sends an array of mentions, it is a full list of mentions -- therefore, we should clear the old mention collection. The same goes for when we re-analyze the message for channel mentions.

* Use Collection.clear() instead of new Collection
2017-01-29 19:02:54 +00:00
Fiddlekins
6fae17912e Added try catch so that decode errors aren't fatal (#1146)
* Added try catch so that decode errors aren't fatal

* Tweaked the usage of the warn event and updated jsdocs

* Moved method into class for webpack scoping reasons
2017-01-29 18:59:00 +00:00
Digitroinc
448c93615b fix splitting messages #1148)
* fix for issue #1120

* build fix
2017-01-29 18:58:35 +00:00
Gus Caplan
2beb77ab5c check if a guildchannel is deletable (#1143)
* Update GuildChannel.js

* eghhh

* Update GuildChannel.js
2017-01-28 10:07:53 +00:00
Pg Biel
c7f5b44e03 Add User.lastMessage, GuildMember.lastMessage and TextBasedChannel.lastMessage (#1135)
* Add User.lastMessage

* User.lastMessage and GuildMember.lastMessage

* User, GuildMember and TextBasedChannel lastMessage

* Update MessageCreate.js
2017-01-26 21:24:08 +00:00
Programmix
9a6cb6477d VoiceReceiver: multiple streams fix (#1132)
* VoiceReceiver: multiple streams fix

silly hydar... you can't have one Opus engine instance for every stream

* Better creation of opus engine
2017-01-26 21:23:00 +00:00
Gus Caplan
87b600f78f switch to os shim for safety (#1136)
* switch to os shim for safety

* Update Client.js
2017-01-26 21:21:43 +00:00
Programmix
ba11f76284 Fix patching message reactions (fixes #1071) (#1137) 2017-01-26 21:20:40 +00:00
Alex
ba7c2db364 Fix createEmoji/deleteEmoji action name. (#1110) 2017-01-24 21:56:19 +00:00
Alexander
5173583e26 Fix empty search query parameters (#1119)
The search function was sending request to stuff like:
search?author_id=&content=&channel_id=135823828352838352
2017-01-24 21:55:59 +00:00
Programmix
c1a5bee61f GuildMembersChunk packet handler hotfix (#1125)
* GuildMembersChunk packet handler hotfix

* Add limit, resolve properly if a query is used

* Document new GuildMemberChunk param
2017-01-24 21:55:36 +00:00
Gus Caplan
4b2053133d more profile stuff (#1131) 2017-01-24 21:53:26 +00:00
Programmix
c73e501243 Fix RESTMethods.removeMessageReaction (fixes #1114) (#1126) 2017-01-21 19:48:17 -05:00
Gus Caplan
306ea97f99 fix guild member fetching edge cases (#1115)
* thx4tipprogrammixluvubye

* consistancy

* make this loop for some reason

* so impatient
2017-01-21 16:37:28 +00:00
Gus Caplan
0300601649 remove redundant editing (#1116)
* remove redundant editing

* update docs
2017-01-19 17:11:24 +00:00
Gus Caplan
1e6abe587b no more (#1117) 2017-01-19 17:10:54 +00:00
Schuyler Cebulskie
b13fdcc8d3 Merged master into indev-prism 2017-01-18 19:23:18 -05:00
Gus Caplan
3f4cbd07dd add voice region getting (#1108)
* add voice region getting

* clean up this mess

* add docstrings

* Update VoiceRegion.js

* Update RESTMethods.js
2017-01-18 19:14:44 -05:00
Gus Caplan
ff92905848 add warning about which class to use for embeds (#1107)
* Update MessageEmbed.js

* Update MessageEmbed.js
2017-01-18 10:55:06 -05:00
Peter Vu
93d8ec3e87 VoiceChannel#full fix on no limit channel for joinable (#1106)
* VoiceChannel#full fix on no limit channel for joinable

* Update VoiceChannel.js
2017-01-16 23:36:29 -05:00
Hackzzila
f8b9bf6884 Fix reaction events (#1105)
* Fix reaction events

* Made it better

* one line ftw
2017-01-16 22:52:25 +00:00
Amish Shah
ba465bc680 Merge branch 'master' into indev-prism 2017-01-15 14:20:32 +00:00
Gus Caplan
8c220e76ec Fix GuildDelete typing stopping (#1098)
* whoops

* ugh

* Update GuildDelete.js
2017-01-14 23:33:26 -05:00
Programmix
d10ca8e7ba Add VoiceChannel#full and improve joinable/join permission checks (#1100)
* Improve voice channel join permission checks

* Update ClientVoiceManager.js
2017-01-14 23:32:17 -05:00
Programmix
7cb5b22ebb @Gawdl3y dun goofed (#1099) 2017-01-14 20:03:26 -05:00
Gus Caplan
48be401330 add clientuser acceptinvite (#1081)
* add clientuser acceptinvite

* Update RESTMethods.js

* Update ClientUser.js

* Update ClientUser.js

* Update RESTMethods.js
2017-01-14 21:25:12 +00:00
Gus Caplan
7f4846c826 Add option to filter old messages in TextBasedChannel#bulkDelete (#1090)
* add filtering for messages older than two weeks

* Update RESTMethods.js

* Update RESTMethods.js

* Update RESTMethods.js

* Update TextBasedChannel.js

* Update RESTMethods.js

* Update RESTMethods.js

* Update RESTMethods.js

* Update RESTMethods.js

* Update TextBasedChannel.js
2017-01-14 16:21:23 -05:00
Gus Caplan
78bf402e8e allow users and members to not be cached (#1097) 2017-01-14 21:20:09 +00:00
Amish Shah
098ad195bd Merge branch 'master' into indev-prism 2017-01-14 21:00:13 +00:00
Gus Caplan
e216fc7a81 stop spamming api, and kill typing when a guild isn't there anymore (#1096) 2017-01-14 17:31:52 +00:00
Schuyler Cebulskie
f647eb7a91 Clean up colour resolver 2017-01-13 22:55:10 -05:00
Schuyler Cebulskie
df02eee065 Fix Guild#large not being accurate for user accounts 2017-01-13 21:47:47 -05:00
Amish Shah
7357fc2163 Update typings and increase performance when not listening for presence updates 2017-01-13 19:15:21 +00:00
Amish Shah
f7a4dee4e1 Merge branch 'master' into indev-prism 2017-01-13 18:58:37 +00:00
Gus Caplan
5ac410f352 Cleanup webhooks (#1094)
* clean up webhooks and fix sending messages with webhooks

* whoops

* fix up options

* Update Webhook.js

* Update Webhook.js

* Update Webhook.js

* fix docstring
2017-01-13 18:48:12 +00:00
Schuyler Cebulskie
74fd0421ba Add missing descriptions 2017-01-13 00:18:00 -05:00
Gus Caplan
0d4eab8d24 add color resolvable, and color constants from the client (#1080)
* add color resolvable, and color constants from the client

* fix up docs

* Update ClientDataResolver.js

* add easter eggs

* Update ClientDataResolver.js

* Update RESTMethods.js
2017-01-12 18:43:22 +00:00
Gus Caplan
a3091f5262 Handle 4011 ws event code (#1083)
* 4011

* Update WebSocketManager.js

* smh gawdl3y
2017-01-11 22:59:09 +00:00
Schuyler Cebulskie
b2822c584a Minor doc updates 2017-01-10 19:43:25 -05:00
Schuyler Cebulskie
5caa7df1d8 Add centralised reply option to message options 2017-01-10 19:25:05 -05:00
Schuyler Cebulskie
8b0e5aad38 Fix sendEmbed with array content 2017-01-10 19:22:03 -05:00
Gus Caplan
c37cd3fd91 clean up webhooks and fix sending messages with webhooks (#1078)
* clean up webhooks and fix sending messages with webhooks

* whoops

* fix up options

* Update Webhook.js

* Update Webhook.js

* Update Webhook.js
2017-01-10 16:52:12 -05:00
Amish Shah
b5026909a1 Remove DMChannel.bulkDelete and GroupDMChannel.bulkDelete 2017-01-09 18:20:05 +00:00
Enchanted13
47707d245d Changed return type of Guild.defaultChannel (#1079)
The default channel for a Guild is always the first TextChannel in the Guild, it can't be a VoiceChannel.
2017-01-09 15:35:11 +00:00
Gus Caplan
5e7ae847de switch to proper querystring parser because why not (#1077) 2017-01-08 14:49:56 -05:00
ooookai
4a7284b86e move function getRoute(url) into class APIRequest (#1065)
this.route = getRoute(this.url);
  >>>
this.route = this.getRoute(this.url);
2017-01-08 19:34:06 +00:00
Amish Shah
391b618b3f Merge branch 'indev-prism' of https://github.com/hydrabolt/discord.js into indev-prism 2017-01-08 14:12:36 +00:00
Zack Campbell
b68283e57a Make _array & _keyArray non-enumerable (#1075)
Because Map has no enumerable properties
2017-01-08 11:59:45 +00:00