Commit graph

83 commits

Author SHA1 Message Date
andrei
92caf31b7f Implement Guild Sharding
This implements the upcoming change (see hammerandchisel/discord-api-docs#17)
to add guild-sharding support directly in the Discord Gateways.
2016-04-19 18:09:38 -07:00
Chris Rhodes
87b2daa832 Merge remote-tracking branch 'bwmarrin/develop' into develop 2016-04-11 22:17:26 -07:00
Bruce Marriner
1a672823a2 Lint and Cleanup 2016-04-11 18:54:19 -05:00
Bruce Marriner
836e78d3d9 Pass struct along with OnEvent event. 2016-04-11 16:56:43 -05:00
Chris Rhodes
fa63c00fa2 Add fast lookups for guilds and channels in state. 2016-04-10 16:18:29 -07:00
Bruce Marriner
92c27c7712 Because binzy was too lazy.
No seriously, this allows us see if a guild is actually being created
or just being lazy-loaded.
2016-04-08 11:51:58 -05:00
andrei
019d0fe9af Fix lazy-loading of guilds not working
We're moving to lazy-loading guilds, meaning bots now recieve a READY
packet with guilds that only have 'id' and 'unavailable' fields. Post
READY, the client then lazyily recieves GUILD_CREATE's for the rest of
the guilds it's in. Previously we assumed the first instance of the
guild we got (from ready) had all the required information, now we need
to use the GUILD_CREATE if the guild was marked as unavailable.
2016-04-04 13:45:41 -07:00
Chris Rhodes
6e568533b2 Early support for PresencesReplace 2016-03-19 16:22:36 -07:00
Bruce Marriner
88492a1dcf Add Token to user struct, and some gofmt. 2016-03-11 23:18:36 -06:00
Chris Rhodes
60b801db27 Support the new bot field on User. 2016-03-10 22:02:59 -08:00
andrei
5dc0b9f2a1 Add connect timeout, fix ChannelVoiceJoin "leaking" connections 2016-03-08 02:36:00 -08:00
andrei
b48e8c992e Track voice state changes, expose stuff, add channel changing 2016-03-07 15:41:02 -08:00
andrei
1fc0e2053b Add support for multiple voice connections
With the upcoming API changes, Discord will be allowing bot users to be
onnected to more than one voice channel at a time. This commit is a
first stab at implementing that functionality in discordgo.

Voice works pretty good right now, ideally the next step is to cleanup
some of the channel-spam and weird blocking-spots.
2016-03-05 01:05:18 -08:00
abalabahaha
0969cc3d86 Format the permission constants 2016-03-04 06:12:17 -08:00
abalabahaha
539b9d203f Fix UserChannelPermissions 2016-03-04 05:50:11 -08:00
abalabahaha
cd24674ebb Added UserChannelPermissions function 2016-03-04 08:07:57 +00:00
Nicholas Stafie
cba9b5039e
Refactor VerificationLevel consts 2016-02-27 01:22:02 +02:00
Nicholas Stafie
58fe658fa5 Add VerificationLevel value consts and a typedef for int 2016-02-27 00:28:05 +02:00
Nicholas Stafie
1a844d697d Add support for guild region and verification level 2016-02-25 00:27:13 +02:00
Chris Rhodes
a11e81fc96 Bring back discrim too. 2016-02-22 08:27:17 -08:00
Chris Rhodes
75a5d6bf62 Bring back color 2016-02-22 08:20:36 -08:00
Chris Rhodes
abc0e5b095 Work around a Discord server issue. 2016-02-22 00:11:39 -08:00
Chris Rhodes
f58410afa4 Support user guild settings update event. 2016-02-21 19:35:21 -08:00
Bruce Marriner
a24247b6e8 Added Bitrate to Channel struct, closes #116 2016-02-20 14:51:02 -06:00
Chris Rhodes
79247272ff Handler updates, no backwards incompatible API changes.
AddHandler now returns a func that can remove the handler.
The handlers map is now guarded by its own mutex.
Moved eventMap to events.go for readability.
Improved documentation.
2016-02-19 22:28:21 -08:00
Chris Rhodes
b083ce00c7 Un-expose handlers. Clean up Session struct. 2016-02-14 21:58:29 -08:00
Chris Rhodes
88335b6f54 Small performance improvement. Added tests. 2016-02-14 19:01:45 -08:00
Chris Rhodes
8ffaa85b0b Thread safety and more events. 2016-02-14 13:41:56 -08:00
Chris Rhodes
fb6ae92555 Add basic support for mapped event handlers. 2016-02-14 13:17:20 -08:00
Chris Rhodes
40b969d7c3 VoiceServerUpdate and VoiceStateUpdate 2016-02-08 08:05:08 -08:00
Bruce Marriner
9b8e880744 Optimized some structs to reduce their runtime size. 2016-01-28 11:10:12 -06:00
Bruce Marriner
edc09778a7 Linting. 2016-01-28 08:36:09 -06:00
Bruce Marriner
9c5cd00d34 Spelling. 2016-01-27 23:31:43 -06:00
Chris Rhodes
fd32614a63 Make compression optional, clean up some comments and unused fields. 2016-01-24 09:49:41 -08:00
Chris Rhodes
e94e14e9d2 Support ShouldReconnectOnError with exponential backoff up to 10 minutes. 2016-01-21 14:15:24 -08:00
Chris Rhodes
2a9538e9f1 I must stop doing last minute changes. 2016-01-20 23:01:20 -08:00
Chris Rhodes
cd55a59ff9 Refactor open/close logic. Support OnConnect and OnDisconnect. 2016-01-20 22:47:34 -08:00
Chris Rhodes
0f38b22ca1 Message state tracking. 2016-01-16 00:20:41 -08:00
Chris Rhodes
b4dfce0fee Add methods for grabbing guild images. Clean up some docs. 2016-01-12 11:14:51 -08:00
Bruce Marriner
70d420f16b Add RateLimit struct 2016-01-10 19:39:44 -06:00
Bruce Marriner
093d3be770 More improvements to voice support 2016-01-10 18:01:05 -06:00
Bruce Marriner
1b3817c7e1 First re-write of voice support. BREAKING CHANGE. 2016-01-09 20:56:30 -06:00
Chris Rhodes
ea33680562 Merge remote-tracking branch 'bwmarrin/develop' into pointers 2016-01-08 09:40:56 -08:00
Chris Rhodes
0d7b6f7e76 Convert structs and api to use pointers. 2016-01-08 09:37:34 -08:00
Bruce Marriner
6e4f495f6a Removed unused AutoMention, renamed VoiceOP2 2016-01-08 10:52:27 -06:00
Bruce Marriner
e1e20260d3 Fixed operation in Event struct so it actually works. 2016-01-08 10:46:27 -06:00
Bruce Marriner
831fb29915 Moved Message struct and related structs into message.go 2016-01-08 10:33:29 -06:00
Bruce Marriner
7fc9331e04 Created message.go to store code related to the Message struct. 2016-01-08 10:29:01 -06:00
Bruce Marriner
301fb980d3 Updated copyright year, cleaned up some comments. 2016-01-07 13:50:44 -06:00
Bruce Marriner
a3ac679d76 Merge branch 'develop' of https://github.com/bwmarrin/Discordgo into develop 2016-01-04 13:14:33 -06:00