Commit graph

567 commits

Author SHA1 Message Date
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
Amish Shah
a789b1f396 reply no longer mentions in PM
for much more fluent conversations in PM
2015-12-09 18:56:20 +00:00
Amish Shah
d9b9d1d0a3 build changes and fix presence bug 2015-12-09 18:26:25 +00:00
Simon Schick
f9b3369187 Simplification 2015-12-08 17:49:35 +01:00
Amish Shah
6cff34ae3c try again 2015-12-06 21:02:24 +00:00
Amish Shah
ff7adf1cf7 basic speed improvement - eats more memory 2015-12-06 20:53:23 +00:00
Amish Shah
b59f2940e3 finalised revive 2015-12-06 20:19:30 +00:00
Amish Shah
d504406cfc partially working autorevive 2015-12-06 19:30:32 +00:00
Amish Shah
41efef750f Clarified options and added autoRevive option
Useful when investigating potential option parameters
2015-12-06 19:11:59 +00:00
Amish Shah
706682af55 fixed voice intervals not dying, bot will now fully die on close 2015-12-06 19:07:34 +00:00
Amish Shah
e072c58460 added interval fixes - bots die gracefully now 2015-12-06 19:02:10 +00:00
abalabahaha
d3e0f46ff0 Merge remote-tracking branch 'upstream/indev' into indev 2015-12-05 16:57:13 -08:00
abalabahaha
2157e0b682 Saddening typo 2015-12-05 16:56:53 -08:00
Amish Shah
e16211c4fb Added stereo support 2015-12-05 21:19:38 +00:00
Amish Shah
d122184b6b voice fixes 2015-12-05 20:57:23 +00:00
abalabahaha
de19475ae0 Attempted add/remove from roles 2015-12-05 12:13:24 -08:00
abalabahaha
50646503cd Merge remote-tracking branch 'upstream/indev' into indev 2015-12-05 10:31:29 -08:00
abalabahaha
ccc794229e setChannelPosition 2015-12-05 10:29:12 -08:00
Amish Shah
1d8905d25a Finalised server documentation
I think
2015-12-05 18:17:01 +00:00
abalabahaha
a89938ed01 setChannelTopic, not setTopic 2015-12-05 10:04:00 -08:00
abalabahaha
e92e087aeb Fixed stupid weird code 2015-12-05 09:59:25 -08:00
abalabahaha
559ed5f76f More shortcuts 2015-12-05 09:43:11 -08:00
Amish Shah
eb500ecd24 Added startTyping stopTyping and createChannel 2015-12-05 17:21:32 +00:00
Amish Shah
10442e5634 Added getLogs 2015-12-05 17:12:15 +00:00
Amish Shah
212c672c2f Added sendFile and server.generalChannel 2015-12-05 17:10:48 +00:00
Amish Shah
05409ccc21 Finished server shortcuts
I think
2015-12-05 17:08:56 +00:00
Amish Shah
780565ff68 Added shortcuts to user and server classes
User.addTo User.removeFrom Server.leave/delete Server.createInvite Server.createRole
2015-12-05 17:03:05 +00:00
Amish Shah
5a971ba097 Added role shortcuts and to user also 2015-12-05 16:57:58 +00:00
Amish Shah
f95822dcb7 Added message.edit, textchannel.send, textchannel.sendTTS and pmchannel.send, pmchannel.sendTTS 2015-12-05 16:48:09 +00:00
Ch. König
01a640feec Fixes server being null on serverCreated event 2015-12-05 12:54:16 +01:00
Amish Shah
e01b4eb114 v5.1.0 finalised bug fixes 2015-12-04 21:07:15 +00:00
Amish Shah
ac2398e47c started working on bug fixes and test scripts 2015-12-04 20:30:11 +00:00
abalabahaha
3c0687ac95 Merge pull request #75 from SimonSchick/resolvererrors
Resolvererrors
2015-11-28 16:40:25 -08:00
Simon Schick
6934068c7f Removed redudant catch/throw operations as the error message is now actually useful 2015-11-28 23:03:15 +01:00
Simon Schick
4735c85e1b Cleaned up file control structures, no more else if chains when you can return right away, also more describtive errors 2015-11-28 22:59:35 +01:00