Commit graph

601 commits

Author SHA1 Message Date
abalabahaha
b5c200901b Prepare for upcoming leave/deleteServer separation (fix #198) 2016-03-06 13:14:15 -08:00
abalabahaha
4e58de8cd6 Make FFMPEG error reject encoding 2016-03-06 13:04:23 -08:00
abalabahaha
dd6c158250 Use binary in sendFile (fix #172) 2016-03-06 10:55:32 -08:00
abalabahaha
538df5f76b memberMap on guild chunks, fire voice channel changes (fix #177) 2016-03-06 04:51:21 -08:00
abalabahaha
6889743d5e Tried to fix #201 2016-03-02 17:40:28 -08:00
abalabahaha
df73f52454 Human-readable bot user status 2016-03-02 17:35:28 -08:00
abalabahaha
159602b359 createInvite forgot to Promise properly 2016-02-25 18:27:33 -08:00
abalabahaha
beb44b7bfa large_threshold vs offline server owner vs ServerChannel.permissionsOf 2016-02-23 09:01:04 -08:00
abalabahaha
91a05be386 forceFetch callback when no fetch necessary 2016-02-20 22:25:53 -08:00
abalabahaha
0ec5d3e8d7 Empty array instead of undefined 2016-02-20 19:30:50 -08:00
abalabahaha
7b24127de5 ready fires after forceFetchUsers if option is true 2016-02-20 19:08:48 -08:00
abalabahaha
41924df875 Debug code lol 2016-02-20 18:45:26 -08:00
abalabahaha
47ecc934f1 Attempting forceFetchUser callback 2016-02-20 18:33:36 -08:00
abalabahaha
78b18de1e1 Random nonexistent object reference fixed 2016-02-19 00:02:08 -08:00
abalabahaha
5c9865fc3c Small fixes 2016-02-18 20:49:03 -08:00
abalabahaha
e4641fe701 resolveChannel should take PM channel IDs 2016-02-17 08:24:11 -08:00
abalabahaha
f49600af17 Use USER_UPDATE 2016-02-14 13:19:07 -08:00
hydrabolt
315ae22a7f potential server_member_update bugfix? 2016-02-13 21:04:47 +00:00
Amish Shah
9a57e7ab03 Merge pull request #184 from aequasi/179
Adding volume wrapper
2016-02-13 18:23:43 +00:00
hydrabolt
7144ead048 docs 6.66% 2016-02-13 18:21:59 +00:00
hydrabolt
4e03c0b1a2 docs 5.59% 2016-02-13 15:53:01 +00:00
hydrabolt
bd187540d3 4.3% coverage 2016-02-13 15:11:27 +00:00
hydrabolt
54045de5f1 add member chunks 2016-02-12 22:07:56 +00:00
hydrabolt
f0c719cf71 see if user exists on presence before creating an entirely new one so username detection etc works 2016-02-12 21:43:05 +00:00
hydrabolt
60587c8d74 track new users from presence 2016-02-12 21:39:34 +00:00
hydrabolt
abde946864 added large_threshold as an option 2016-02-12 21:08:13 +00:00
Aaron Scherer
0571958033 Fixing conflicts 2016-02-12 13:08:03 -08:00
hydrabolt
5132c9ade4 added large_threshold 2016-02-12 21:03:27 +00:00
hydrabolt
42f053eb9f Merge remote-tracking branch 'origin/master' into indev 2016-02-12 20:44:18 +00:00
calc84maniac
701c0ca9c4 Let updateDetails use data.email if possible (thanks @calc84maniac) 2016-02-11 10:34:21 -08:00
abalabahaha
9fc5a752f8 colorAsHex should return hex (fixes #188) 2016-02-11 10:30:06 -08:00
Aaron Scherer
3c64cfce4a Adding volume wrapper 2016-02-10 09:53:05 -08:00
Aaron Scherer
8607a2449c Allow seeking for FFmpeg 2016-02-09 09:38:48 -08:00
SooYou
fd5c981d83 fix resolveServer undefined when TextChannel
So far it has been the case that resolveServer has been returning
undefined in the case that the resource was a Message from a TextChannel.
This was the case because the conditional returned the value of member
"server" in the Message object. The Message object doesn't have a server
member though. The fix is to use the "channel" member of the Message
object and return its "server" member which was likely the original
intention considering the if statement.
2016-02-06 18:18:00 +01:00
Amish Shah
4b8f85d44a Exposed Discord.Cache 2016-02-04 21:09:30 +00:00
Neto Becker
3283283b4d fix game status not been updated when closing the game 2016-02-03 12:47:23 -02:00
Neto Becker
8d5949842c fix setUsername() 2016-02-03 12:41:19 -02:00
abalabahaha
9173ded903 Minor patching 2016-02-02 05:59:55 -08:00
abalabahaha
b7c1b6ebe6 Simulate channel structure if user's voice channel was not found 2016-02-01 17:26:29 -08:00
meew0
c773ea4e49 Check before a channel is a voice channel before joining it 2016-02-01 21:34:32 +01:00
meew0
e66311bdf5 Use resolveChannel instead of resolveVoiceChannel for joinVoiceChannel and get rid of resolveVoiceChannel 2016-02-01 21:30:57 +01:00
abalabahaha
6f7bd987b8 Allow get/getAll to take a function only 2016-01-31 22:37:31 -08:00
abalabahaha
580f260933 Support for regex/function in get/getAll 2016-01-31 22:30:02 -08:00
abalabahaha
cd25848bdc voiceStateUpdate stored per-server, some docs 2016-01-30 14:11:21 -08:00
abalabahaha
46807bf1c1 Fix unduplicated mentions 2016-01-30 13:16:18 -08:00
abalabahaha
89e3396af6 sendFile with non-image files (fix #172) 2016-01-30 12:48:53 -08:00
meew0
c1171e6973 Fix the regex in Resolve.resolveFile, fixes #171 2016-01-30 14:36:31 +01:00
meew0
634a5bd737 Fix the webdists, this fixes #170.
Particular problems and how they were resolved:
 - The `fs-extra` module, used exclusively by TokenCacher, didn't have a browser version. I rewrote TokenCacher to not use fs-extra (see fdd4cfc7cc)
 - TokenCacher wouldn't work in the browser anyway due to lack of a file system. I made a shim (`Util/TokenCacher-shim.js`) that implements all TokenCacher functionality as null implementations, this causes `login` to always make a request.
 - Compressed packets couldn't be parsed because neither node's Buffers nor zlib were working correctly. Initially I tried to make a browser-only parser class that parses compressed `Blob` packets, but this didn't work out, so I just disabled compression by default.
2016-01-30 14:17:27 +01:00
meew0
fdd4cfc7cc Remove the TokenCacher fs-extra dependency, rewrite init code 2016-01-30 12:09:41 +01:00
meew0
358c40c355 Set the volume default to 1 as @hydrabolt intended, fixes #154 2016-01-30 10:42:13 +01:00
abalabahaha
7fb39b6dc0 Fixed isMentioned 2016-01-30 01:28:58 -08:00
abalabahaha
5d4cd1fc28 Fix addMemberToRoles/removeMemberFromRoles 2016-01-29 22:11:12 -08:00
abalabahaha
e3173d1561 In-order + duplicate mentions, cleanContent in Messages 2016-01-29 22:05:01 -08:00
abalabahaha
8b392f359a add channel to voiceStateUpdate, reorder args 2016-01-29 21:45:49 -08:00
abalabahaha
dad570a4ec sendFile via URL 2016-01-29 21:45:03 -08:00
abalabahaha
35c800cc8f Fixed line of code (meew0) causing logins with new creds to fail 2016-01-29 21:01:35 -08:00
abalabahaha
b052d59e46 renamed voiceUserStateUpdate to voiceStateUpdate 2016-01-29 21:00:23 -08:00
abalabahaha
6af71bf639 The beginnings of the voiceUserStateChange event 2016-01-29 17:46:46 -08:00
abalabahaha
8726b23730 Resolve role IDs 2016-01-29 17:14:40 -08:00
abalabahaha
ee2172c1d5 memberHasRole, membersWithRole 2016-01-29 17:02:40 -08:00
abalabahaha
2c8747995a Merge addRoleToMember(s), merge removeRoleFromMember(s) 2016-01-29 14:55:07 -08:00
abalabahaha
be083b717e Merge pull request #168 from hydrabolt/issue/144
Allow moving users to voice channels
2016-01-29 14:04:05 -08:00
meew0
fe9911acc2 Don't require a server for moveMember 2016-01-29 23:03:12 +01:00
meew0
9cfcb3452b Remove debug calls 2016-01-29 22:44:36 +01:00
meew0
59060b27e6 Handle resolveChannel correctly because it returns a promise 2016-01-29 22:44:29 +01:00
abalabahaha
79039f08a1 Fixing server updates 2016-01-25 00:34:16 -08:00
abalabahaha
4e9a11d7a9 sendFile typo 2016-01-24 18:31:51 -08:00
abalabahaha
2c17eaed02 Fix login, clone objects when firing x-Updated events 2016-01-24 16:41:35 -08:00
abalabahaha
2c6cbb6675 Merge remote-tracking branch 'ntay/sendfile-original-name' into indev 2016-01-24 16:15:28 -08:00
Nicholas Tay
3b3f5d831a More string checking, and stream filename checking (fs streams) 2016-01-25 11:07:06 +11:00
abalabahaha
44c1fc5b29 Fixed getChannelLogs before/after, added server unavailable checks in READY 2016-01-24 15:41:23 -08:00
Nicholas Tay
3a8f1ddbf9 Optional sendFile name callback and remove extra logic 2016-01-25 10:35:44 +11:00
meew0
042d7d1dbe Add voice channel moving, not quite working yet 2016-01-24 23:22:24 +01:00
meew0
3caf1f74cc Allow tokens to be used for login, fixes #159 2016-01-24 14:33:39 +01:00
Nicholas Tay
47f35a942c Make sendFile() use original file name by default 2016-01-24 21:23:09 +11:00
abalabahaha
76ab439033 Possibly fix messageUpdated 2016-01-20 22:45:30 -08:00
Jacob
dba7a1d06a fixed volume option and set default to 25% to avoid hearing loss 2016-01-20 22:26:26 -08:00
abalabahaha
68435f0619 Handle unavailable guild, fix default getChannelLogs limit 2016-01-18 17:46:15 -08:00
abalabahaha
94f067cc51 Check if parts of server data exist 2016-01-16 17:09:25 -08:00
meew0
345d0da72b Merge branch 'CKing-patch-3' into indev 2016-01-16 16:00:05 +01:00
Ch. König
8571723ec1 Make destroy return a promise 2016-01-16 15:22:01 +01:00
Neto Becker
b3d5197013 removed ES6 function calls 2016-01-15 15:11:21 +01:00
abalabahaha
0164d3e7b5 Attempted merge of userUpdated and presence, along with before/after arguments 2016-01-13 23:35:37 -08:00
abalabahaha
fc58a0d5cf Attempting getInvites 2016-01-13 20:32:07 -08:00
abalabahaha
cffdb5f5f6 Improvement upon addMemberToRoles and build 2016-01-12 14:59:45 -08:00
Chris Talman
51a8feb562 Client.addMemberToRoles is now functional and prevents duplicate roles 2016-01-12 14:52:37 -08:00
abalabahaha
8a8ba51c2b Bad idle logic error 2016-01-06 21:39:05 -08:00
meew0
f51fecf726 Fix parameter callback checks not setting default arguments
The `typeof X === "function"` checks to check whether the callback replaces any default arguments didn't set the default arguments afterwards, so internal functions would sometimes get called with the wrong attributes. This is now fixed.
2016-01-05 21:27:58 +01:00
meew0
fee5cade9e Client wrapper for updateServer 2016-01-05 21:23:00 +01:00
meew0
3e1568f536 Implement updateServer, fixes #123 2016-01-05 21:22:45 +01:00
meew0
3e2124e0bd Don't acknowledge messages, fixes #130 2016-01-05 20:35:18 +01:00
meew0
4184e51ec3 Compare game objects before comparing their names
See also http://git.io/vuR7p
2016-01-05 20:33:55 +01:00
abalabahaha
404829a19d Change gameID (Deprecated) to game 2016-01-04 20:46:28 -08:00
abalabahaha
69bffc6279 Finish renaming setChannelTopic 2016-01-04 20:37:15 -08:00
abalabahaha
2a00064646 Validate invite if possible 2016-01-03 11:14:17 -08:00
abalabahaha
718f0b9543 Rebuilt lib for dev and getInvite 2016-01-02 18:24:55 -08:00
Amish Shah
2000b62b36 fixed references to update items 2016-01-01 18:27:08 +00:00
meew0
d2473044e5 Fix errant parentheses in getBans, fixes #111 2015-12-31 20:46:39 +01:00
meew0
9325e1fbb5 Fix parentheses typo in setPlayingGame args list 2015-12-31 20:29:15 +01:00
meew0
ea3ac96f13 Fix some very minor inconsistencies 2015-12-31 20:23:30 +01:00
meew0
9cfd287020 Replace awaitResponse on-the-fly callback with dataCallback
I overlooked it previously.
2015-12-31 20:21:59 +01:00
meew0
385da190ba Give the setPlayingGame callback a default value
to be consistent with other functions.
2015-12-31 20:21:03 +01:00
meew0
f018ccebed Add a callback to setPlayingGame 2015-12-31 20:20:36 +01:00
meew0
2c565ebfaf Call the callback in destroy, its callback was previously unused 2015-12-31 20:20:17 +01:00
meew0
a0ffbdb208 Replace on-the-fly callbacks with dataCallback everywhere
Also fixes various code-style and comment issues I've noticed.
2015-12-31 20:19:25 +01:00
meew0
d668ec8632 Use dataCallback for banMember, unbanMember and kickMember.
Fixes #112, #113 and #114.
2015-12-31 20:09:25 +01:00
meew0
ba93a6e224 Rename constructErrorCallback to errorCallback
to be more consistent with dataCallback.
2015-12-31 19:09:02 +01:00
meew0
f50c910af3 Create a utility function to wrap those on-the-fly callbacks 2015-12-31 19:08:28 +01:00
meew0
a0995c6fe7 Add a short comment to constructErrorCallback 2015-12-31 18:56:26 +01:00
meew0
415260d028 Rename "errCB" to "constructErrorCallback" to improve readability 2015-12-31 18:54:44 +01:00
meew0
0921484ef6 Add opus sanity check 2015-12-27 17:25:04 +01:00
Amish Shah
8d0fc8e0a6 Resilience to abusers of the API
For some reason there's a way to join text channels via the Discord API but not the Discord Client, so this commit
prevents the Client from crashing by checking to see if the channels are voice channels.
2015-12-26 18:32:46 +00:00
Amish Shah
8e16abee96 Fixed server.detailsOf(user)
Now points to correct function
2015-12-26 18:16:42 +00:00
Amish Shah
3b7c5aa96a Rename voiceconnection.speaking to voiceconnection.memberd 2015-12-26 18:05:31 +00:00
Amish Shah
0113202c2f Fixed voice_connection.stopPlaying
Now unpipes before destroying
2015-12-26 17:52:20 +00:00
Amish Shah
9d97dfc95a Voice States in READY packet now processed
Now there is full watching and coverage of voice states
2015-12-26 15:54:45 +00:00
Amish Shah
9c0e20947c Added websocket voice state watching
Now emits voiceJoin(user, voice_channel) or voiceLeave(user, voice_channel) and adds/removes from voice_channel.speaking when a user joins or leaves a voice channel.
2015-12-26 15:38:53 +00:00
Amish Shah
7b2f4e3357 Added Cache 2015-12-26 15:12:58 +00:00
abalabahaha
830cc64828 Fixed #105 and built 2015-12-26 15:10:32 +00:00
abalabahaha
beb91913bb Suppor string game updates and better setStatus logic 2015-12-26 15:10:32 +00:00
Amish Shah
2253560631 fix travis bugs and mentions 2015-12-23 22:36:31 +00:00
meew0
d09c26c7c1 Add method to play back the output from an arbitrary ffmpeg cmd 2015-12-23 23:20:19 +01:00
Amish Shah
4d6adfd289 voice fixes 2015-12-23 21:10:49 +00:00
Amish Shah
0e6ff52c61 PM bug fix 2015-12-22 23:36:10 -08:00
Amish Shah
d93990822e Emergency bug fix
Stopped the client from assuming all errors were 429 errors
2015-12-22 23:36:01 -08:00
Amish Shah
90045db92d fixed mentions even though they will be changed in the future... why 2015-12-19 21:22:06 +00:00
Amish Shah
941fd2fe98 Minor changes 2015-12-17 18:31:52 +00:00
Amish Shah
b82c318e96 Added option to count rate limits as errors
`options.rate_limit_as_error`
2015-12-16 18:51:32 +00:00
Amish Shah
470fbbb6d6 Fixed rate limiting 2015-12-16 18:46:03 +00:00
Amish Shah
da990f544a Token Cache bug fix and Rate Limiting 2015-12-16 18:32:01 +00:00
Amish Shah
8f8504810a Privacy improvement over token caching
e-mail is no longer visible in caches
2015-12-14 18:28:27 +00:00
Amish Shah
8f5722d242 Token Caching now works 2015-12-14 18:06:03 +00:00
Amish Shah
a122f0994e Stuff 2015-12-13 20:10:33 +00:00
abalabahaha
ecc604e6ac Fixed getChannelLogs bug (template string variable without ${}) 2015-12-13 02:00:01 -08:00
Amish Shah
c9c1b19968 Fixed message.isMentioned 2015-12-12 21:37:34 +00:00
Amish Shah
c2cf1badfd Fixed multiple avconvs/ffmpeg processes still staying alive 2015-12-12 21:04:30 +00:00
Amish Shah
4d43867206 Fixed multiple ffmpeg/avconv processes being alive 2015-12-12 18:04:48 +00:00
Amish Shah
d66b765933 added volume control 2015-12-12 17:52:25 +00:00
Amish Shah
8eb4c47f79 Client now emits unknown and hidden some properties of Cache
Cache.discrim and Cache.discrimCache are now hidden from for..in
2015-12-12 17:32:20 +00:00
Amish Shah
cb58bc5414 Build changes & minor changes to Cache 2015-12-12 17:31:28 +00:00
abalabahaha
cd4a70cfb2 Fixed the fix and built 2015-12-11 21:37:59 -08:00
abalabahaha
6ed6932e24 Someone forgot to update some code 2015-12-11 20:00:49 -08:00
abalabahaha
e020287307 Applied change to second function 2015-12-11 20:00:32 -08:00
qeled
f280349f0c Fix sequence and timestamp in VoiceConnection 2015-12-11 19:48:32 +00:00
qeled
d8af1a49ae Disable ffmpeg logging and ignore stderr 2015-12-11 19:48:32 +00:00
Simon Schick
506b425ca0 Simplified code segment, removed pointless concat call. 2015-12-11 19:48:31 +00:00
Simon Schick
1a93f8638e Forgot to expose userAgent is base client 2015-12-11 19:48:31 +00:00
Simon Schick
002d8ce0af Moved all http request related code into method to allow override of useragent, removed superagent end detour 2015-12-11 19:48:31 +00:00
Guichaguri
78eeee084f Added user-agent with discord.js information
Requested by the Discord Team
2015-12-11 19:48:31 +00:00
qeled
a369ef2788 Improve Cache class performance
Use hashmap instead of array for caching by discriminator

Optimize `get` method by using `for` loop instead of `forEach`
and returning hashmap cache for queries by discriminator
2015-12-10 02:26:30 +03:00