Commit graph

338 commits

Author SHA1 Message Date
Amish Shah
8cab673fea
fix: stream dispatcher throwing key error due to missing secretKey 2018-01-13 12:47:19 +00:00
Amish Shah
eb40a663dd
god damn it i forgot to save the file the first time 2018-01-05 21:23:21 +00:00
Amish Shah
eeded90782
Fix: "value" argument is out of bounds when writing timestamp header to packet 2018-01-05 21:22:11 +00:00
Schuyler Cebulskie
96971c432d Merge master into voice-rewrite 2017-12-02 19:48:43 -05:00
Schuyler Cebulskie
637ea09532 Fix lint error 2017-11-19 01:56:51 -05: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
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
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
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
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
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
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
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
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
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
Frangu Vlad
3871662a95 fix(setSpeaking) Fix #2005 (#2007) 2017-10-07 01:55:16 +02:00
SpaceEEC
ec4c98704f refactor: make use of destructuring for Constants (#1942) 2017-09-16 20:31:36 +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
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
99419a3670
Fix #1310 (strip RTP header extensions) 2017-09-05 19:14:54 +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
iCrawl
2aa2f73c74 Docs cleanup 2017-08-17 20:04:01 +02:00
SpaceEEC
d9262f2682 Added and fixed a bunch of docs stuff (#1767)
- Fixed a common copy paste fail `the the <thing>` in various places
- Apparently I can't type Resolvable correctly,
Fixed that wherever applicable
- Documented GroupDMChannel#nicks so that it will be displayed on the docs
- GroupDMChannel#icon is nullable
- Removed empty InviteOptions typdef, as its properties are now documented in GuildChannel#createInvite
- MessageMentions#channels is no longer nullable
- RoleData#permissions takes a PermissionResolvable or an array of them
- Webhook#avatar is nullable
- Added HTTPOptions typedef and added it to ClientOptions typedef
- ClientUserChannelOverride#muted is for a channel and not a guild directly
2017-08-10 20:31:10 +02:00
FireController1847
580e066a36 Init pause variable on VoiceBroadcast (#1751)
* Init pause variable on VoiceBroadcast

* Move it back. Could have swore I did this.
2017-08-04 09:21:18 +02:00
Yoson Chiu
ba1c257bb2 Fixes #1693 (#1745)
* Update AudioPlayer.js

* Set timestamp to 0 as well.
2017-08-04 09:18:37 +02:00
tjpc3
4f5d1bffaf fix node.js crash due to error messages being called with invalid error keys (#1728)
* Comments

* More Comments

* Added new error message

* Fixed error message

* Removing temporary comments

* Fixed error messages

* Added more new error messages

* Removed trailing space

* Removed other trailing space

* Changed error key

* Changed error key used
2017-08-01 04:01:45 +02:00
aemino
e29a3ec08b Handle unexpected disconnects via packets (#1521) 2017-07-26 10:10:21 +02:00
aemino
4342ed29a8 Audio bitrate support (#1439)
* Audio bitrate support

Note: not implemented for VoiceBroadcasts

* Fix default args, auto bitrate

* Late night typos are the best

* Changes bitrate to kbps for VoiceChannel stuff

* Add methods to manipulate bitrate while encoding
2017-07-26 10:06:40 +02:00
aemino
afcf43aef6 Add VoiceConnection errors (#1649) 2017-07-04 00:09:38 +02:00
aemino
62537b7deb Ignore setSpeaking requests when VC isn't connected (#1638) 2017-07-01 10:14:41 +01:00
Gavin Wainwright
7b44262346 Destructure certain imports (#1634) 2017-06-29 00:43:26 +01:00
Gus Caplan
63e54982f4 Errors Standardization (#1246)
* errors and stuff

* more errors

* all the errors

* fix build
2017-06-25 18:48:05 +01:00
aemino
4ae4c97589 Fix VoiceConnection#authenticateFailed race condition (#1601) 2017-06-24 23:28:49 +01:00
SpaceEEC
d6041f9fb3 Added Client#status and Message#type typedefs (#1571)
* typedef for MessageTypes and linked Client#status to Status

* should be singular

* typedef for Voiceconnection#status
2017-06-09 16:27:49 +02:00
aemino
4e79a885b8 Remove unused VoiceBroadcast#guaranteeOpusEngine (fixes #1556) (#1563) 2017-06-05 06:52:31 +02:00
Gus Caplan
a2520efa1a Use node 8 error code (#1557) 2017-06-01 21:14:42 +02:00
aemino
c4a7ce12e6 Opus engine fetching: don't ignore non-missing errors (#1555)
* Opus engine fetching: don't ignore non-missing errors

* typo fix
2017-06-01 10:29:55 +02:00
Amish Shah
6cc74d22ff fml 2017-05-30 12:22:40 +01:00
Amish Shah
8f63368696 Correct documentation for VoiceConnection (see #1536) 2017-05-30 12:21:37 +01:00
aemino
2bf8a36077 Allow await endpoint stage to not error (#1444) 2017-05-01 18:01:28 +01:00
Crawl
457b9600f2 Docs consistency plz 2017-04-30 13:16:19 +02:00
Amish Shah
dd110f4824 Add example for creating VoiceBroadcasts 2017-04-30 11:04:41 +01:00
Amish Shah
81b176cfea BaseOpusEngine should be private 2017-04-30 11:01:26 +01:00
Crawl
ac92d2cecc Improve docs a bit 2017-04-30 04:30:44 +02:00
Amish Shah
ee37d859a4 dumb ass bug fix 2017-04-29 22:47:06 +01:00
Amish Shah
2e33bf583e Try to fix StreamDispatchers (#1387) 2017-04-29 15:12:34 +01:00
Crawl
53eda09f72 Improve docs 2017-04-24 16:29:29 +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
930519c494 Update AudioPlayer.js 2017-04-13 03:17:00 +02: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
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
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
aemino
6d4fe89212 Volume stuff docs fixes (#1354)
* Volume stuff docs fixes

* 10/10 for spelling
2017-04-10 11:50:33 +01:00
aemino
ab589fa5f2 VoiceConnection speaking bugfix (#1343)
Looks like I made a typo...
2017-04-06 16:20:34 +02:00
SpaceEEC
ecb8655dac Document readonly and private properties (#1338) 2017-04-03 20:05:36 +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
Schuyler Cebulskie
136cab240d Add new ESLint rules 2017-03-17 01:23:39 -04:00
Crawl
4ef0ec491c Add arrow-parens eslint rule & fix inconsistencies 2017-03-13 15:56:00 +01: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
dfb1a16e9e One-line an if statement 2017-02-25 23:26:40 +00:00