Commit graph

150 commits

Author SHA1 Message Date
Amish Shah
e7824d6515 Fix weird audio playback bug between subsequent streams on an AudioPlayer 2016-12-28 23:21:34 +00:00
Amish Shah
00254f35b0 Make voice return streamdispatcher 2016-12-28 21:40:11 +00:00
Amish Shah
cd657be8be Add functionality for GuildEmoji events 2016-12-26 19:21:00 +00:00
Amish Shah
544e456302 Add ClientOptions.restTimeOffset for better performance for bots with a good network connection 2016-12-24 12:13:42 +00:00
Slamakans
b79a91b3a9 new errors for richembed yay (#966)
* Update faq.md (#949)

* fix docs

* Revert "fixed typo in documentation" (#950)

* new errors for richembed yay

Simplified the parsing for color arrays.

Throwing some errors on values that would result in Bad Requests.

Changed setAuthor and setFooter's icon parameter to icon_url to match
the embed object's property name.

Changed the docs for setFooter to reflect that icon_url is optional.

* changed docs instead of arg names

* capitalization
2016-12-09 22:09:55 -05:00
Schuyler Cebulskie
049ab42eb4 Do stuff slightly better 2016-11-20 20:54:40 -05:00
Gus Caplan
2440a4a2c8 Add webpack building (#907)
* friggin webpack tho

* probably important

* add all the stuff to the package.json

* add minify builds and a nice package.json script to run it all

* clean up

* use uglify harmony branch so we can actually run minify builds that work

* update build system

* make test better

* clean up

* fix issues with compression

* ‮

* c++ requirements in a node lib? whaaaaat?

* fix travis yml?

* put railings on voice connections

* 🖕🏻

* aaaaaa

* handle arraybuffers in the unlikely event one is sent

* support arraybuffers in resolvebuffer

* this needs to be fixed at some point

* this was fixed

* disable filename versioning if env VERSIONED is set to false

* Update ClientDataResolver.js

* Update ClientVoiceManager.js

* Update WebSocketManager.js

* Update ConvertArrayBuffer.js

* Update webpack.html

* enable compression for browser and fix ws error handler

* Update WebSocketManager.js

* everything will be okay gawdl3y

* compression is slower in browser, so rip the last three hours of my life

* Update Constants.js

* Update .gitignore
2016-11-20 19:38:16 -05:00
Amish Shah
dd9c291508 Add reaction fetching of users 2016-10-27 16:58:06 +01:00
Amish Shah
81059885a2 Start work on adding reaction support 2016-10-27 15:22:42 +01:00
Amish Shah
1a3ea65abd fix some shard stuff on linux 2016-10-26 20:15:56 +01:00
Amish Shah
7d04863b66 Revert "fix Client.destroy bugs" (#839) 2016-10-26 17:30:18 +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
0c4a4023ce Fix setting guild role positions (#751) 2016-10-26 14:19:36 +01:00
Amish Shah
0f8e8dddff fix presence updating 2016-10-25 21:40:53 +01:00
Amish Shah
91ba59c43d Added voice disconnect 2016-10-25 14:18:20 +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
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
9d0dd665de fix something 2016-10-24 14:49:01 +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
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
8d18ed42f6 Update tests 2016-09-27 18:48:54 -04:00
Amish Shah
045153584a redo the client user presence stuff 2016-09-27 17:57:47 +01:00
Amish Shah
534d7af8c3 Fix resuming sessions (fixes #699) 2016-09-25 15:03:54 +01:00
Amish Shah
03651fd6e3 Change how presences are handled 2016-09-25 14:16:03 +01:00
Amish Shah
0e8f1bef97 Stop comparing for equality on update events and just emit for performance 2016-09-25 11:24:02 +01:00
Amish Shah
fbcea236c5 Fix avatars not being set on selfbots - fixes #697 2016-09-13 20:21:12 +01:00
Amish Shah
f7e89f61e6 Fix channelCreate being emitted twice - fixes #698 2016-09-13 20:00:00 +01:00
Amish Shah
36435934c7 documentation v13 2016-09-12 17:36:38 +01:00
Amish Shah
75b01e0a4a add /play to test file 2016-09-12 17:08:56 +01:00
Amish Shah
9059eb13a2 Add passes to streaming voice 2016-09-11 18:49:18 +01:00
Amish Shah
7933d755be Fix docs generator and add EvaluatedPermissions.hasPermissions() 2016-09-11 12:44:31 +01:00
Amish Shah
e75dd2638c Add Burst requests - addresses #656 2016-09-10 22:12:10 +01:00
Amish Shah
c6aa16277a Add TextChannel.members 2016-09-10 17:06:10 +01:00
Amish Shah
7475f734ac Add debug stuff 2016-09-04 12:31:16 +01:00
Amish Shah
906672e538 Merge branch 'indev-rewrite-sharding' into indev-rewrite 2016-09-04 12:17:42 +01:00
Amish Shah
432c5ccc82 Add volume modification to dispatcher 2016-09-03 22:27:43 +01:00
Amish Shah
7ff2568cfc Fix collectors and make guild sync add previously unknown members 2016-09-03 21:21:15 +01:00
Amish Shah
ae17a89191 Reduce memory usage by dynamically creating Dates 2016-09-02 13:18:27 +01:00
Amish Shah
552d603782 Try and fix author bug? 2016-09-01 14:50:45 +01:00
Amish Shah
cde3bcb3bd Tidy up shards a bit 2016-08-30 19:07:13 +01:00
Amish Shah
c70dfa83fb Add ShardManager 2016-08-30 17:26:32 +01:00
Amish Shah
d249aa10cc Add client.destroy(); 2016-08-30 13:05:57 +01:00
Amish Shah
5d06be6333 Add Emoji class 2016-08-29 15:18:41 +01:00
Amish Shah
a91fcd5cab Add ChannelPinsUpdate event 2016-08-28 18:50:55 +01:00
Amish Shah
642d768cdc Add textBasedChannel.bulkDelete() 2016-08-26 22:13:27 +01:00
Amish Shah
ee6ccc5e17 Fix fs-extra dependencies 2016-08-26 18:05:36 +01:00
Amish Shah
6ddc7a813c Add VoiceReceiver streams 2016-08-26 17:34:28 +01:00
Amish Shah
48762c642c Make voice receiving better 2016-08-25 23:12:03 +01:00
Amish Shah
2d6068010b Create basic voice receiving 2016-08-25 22:40:22 +01:00
Amish Shah
ccf513a2fc Fix DMs breaking 2016-08-25 21:38:50 +01:00
Amish Shah
6d7e649bb1 fix some voice stuff 2016-08-25 14:49:18 +01:00
Amish Shah
d6f5df39fc voice stuff 2016-08-25 14:24:19 +01:00
Amish Shah
253789f398 PLS WORK 2016-08-24 22:26:32 +01:00
Amish Shah
8683f45816 errory voice 2016-08-24 21:38:52 +01:00
Amish Shah
c96ecec24c Fix recipient resolution 2016-08-22 22:31:22 +01:00
Amish Shah
3fded1d7af Add Sharding Support! 2016-08-22 21:31:43 +01:00
Amish Shah
cf34f253cb Change message.mentions to a Map 2016-08-22 19:45:27 +01:00
Amish Shah
df456589ab Fix requests getting locked up in queues 2016-08-22 19:15:08 +01:00
Amish Shah
6f2caffd32 Add setting channel overwrites 2016-08-22 18:47:21 +01:00
Amish Shah
115850ad04 Fix channelMessage endpoint 2016-08-22 18:04:22 +01:00
Amish Shah
82ab92ca2a Migrate most of the Client Data Store to Clien 2016-08-19 22:21:34 +01:00
Amish Shah
ed818d6e7f Remove GuildDataStore and move towards storing data in Maps 2016-08-19 19:58:37 +01:00
Amish Shah
dcba580d89 Implement Sequential Rate Limiting 2016-08-19 18:01:28 +01:00
Amish Shah
0224138dc9 crappy ratelimiting it doesnt work but its here ok 2016-08-13 22:22:24 +01:00
Amish Shah
b8db4c4f4b ESLint stuff... 2016-08-13 14:44:49 +01:00
Amish Shah
0d53afe3ce Added ability to edit a role 2016-07-03 16:27:04 +01:00
Amish Shah
3cd91a19aa Added role.delete() 2016-07-03 13:04:39 +01:00
Amish Shah
849b8df2da Added guild.createRole() 2016-07-02 21:28:49 +01:00
Amish Shah
bbf0b0683a Added guild.kick(member) and member.kick() 2016-07-02 17:50:44 +01:00
hydrabolt
fb49ad7d93 Fix Message Sending and Support New Features. The library now supports
all the game streaming and URL stuff and is fixed for roles #328

src/client/websocket/packets/handlers/PresenceUpdate.js
2016-05-07 15:35:42 +01:00
hydrabolt
bc443df11d Added DM support, DM Creation and DM Deletion 2016-05-03 17:50:33 +01:00
hydrabolt
ab17375248 Added GuildUpdate handling, and setting guilds details 2016-05-03 16:42:38 +01:00
hydrabolt
ebfc2169d5 Added ClientUser modification support 2016-05-01 21:12:42 +01:00
hydrabolt
f95c588d87 Added Guild Deletion 2016-05-01 14:51:46 +01:00
hydrabolt
90cf787759 I think I got ChannelUpdate working?? 2016-04-30 18:22:09 +01:00
hydrabolt
2341c83638 Added channel.delete() 2016-04-27 16:25:57 +01:00
hydrabolt
2d3116d505 Added guild.createChannel(name, type) 2016-04-26 17:44:42 +01:00
hydrabolt
e9d7dfaee3 Added message.edit(content) 2016-04-24 17:30:58 +01:00
hydrabolt
1676a5e73f Bridged WebSocket Events and REST Requests. Now REST Requests will respond exactly like WS Events to data 2016-04-24 16:30:58 +01:00
hydrabolt
c42e303b7b Add Message Deletion via message.delete() 2016-04-21 18:50:46 +01:00
hydrabolt
03caddb4b5 Add Rate Limiting, see hammerandchisel/discord-api-docs#20 2016-04-21 18:24:08 +01:00
hydrabolt
f3e1760538 add channel.sendMessage and channel.sendTTSMessage 2016-04-21 17:42:52 +01:00
hydrabolt
acc9c9bf12 src/client/websocket/packets/WebSocketPacketManager.js
src/structures/datastore/WebSocketManagerDataStore.js
Added "rough" reconnection attempting
The following however still needs to be done:
1) stop trying after a certain amount of time
2) increasing timeout between each timeout
3) re-evaluate the current method of how reconnecting is handled
internally
2016-04-19 20:24:23 +01:00
hydrabolt
da42b422f0 Added Permission evaluation for channels and EvaluatedPermissions class. 2016-04-18 19:31:36 +01:00
hydrabolt
00327a5776 Add MessageUpdate handling 2016-04-18 18:12:57 +01:00
hydrabolt
d437fd31cf MessageDelete handling 2016-04-18 18:06:31 +01:00
hydrabolt
c947e172d6 Add MessageCreate handler, set up Message class and add ability to Cache messages 2016-04-18 17:55:21 +01:00
hydrabolt
7f4751e7c4 add PermissionOverwrites class in preparation for permission evaluation 2016-04-18 17:23:37 +01:00
hydrabolt
ce2cf382b3 TypingStart handler 2016-04-18 16:39:57 +01:00
hydrabolt
d1d13f5c85 Added VoiceStateUpdate handler and DataStore for VoiceChannels. Also added toString methods to Guilds, DMChannels, ServerChannels and Users. 2016-04-17 19:12:29 +01:00
hydrabolt
685d7b622c Fix READY bug when logging in with email/password, add UserUpdate packet handler 2016-04-17 18:37:15 +01:00
hydrabolt
abc3f9e2fa Presence tracking 2016-04-17 18:20:57 +01:00
hydrabolt
71a4cd6a93 Added full Role tracking 2016-04-17 15:43:12 +01:00
hydrabolt
bbf7be7dfa Tracking of GUILD_ROLE_CREATE/UPDATE/DELETE events 2016-04-17 15:17:18 +01:00
hydrabolt
9956e43c8e initial 2016-04-16 22:58:49 +01:00