Commit graph

223 commits

Author SHA1 Message Date
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
Bruce Marriner
b329c935ac Added check to prevent data websocket Listen func from running more than one instance. 2016-01-04 13:06:09 -06:00
Bruce Marriner
666cbeb6a6 Data websocket Heartbeat now uses a chan instead of bool to track state 2016-01-04 12:49:46 -06:00
Chris Rhodes
cd01a34cdb Handle GUILD_EMOJI_UPDATE and track Emoji in state. 2016-01-03 11:56:46 -08:00
Chris Rhodes
aa4d42199a Add and Parse Emojis struct. 2016-01-03 00:38:34 -08:00
Bruce Marriner
825144012d Prevent data websocket heartbeat from running more than once, closes #43 2016-01-02 22:32:02 -06:00
Chris Rhodes
9ba6d5b7c1 Make state tracking optional. 2016-01-02 12:01:03 -08:00
Chris Rhodes
b2ef55ae9c Cleanup before mailing. 2016-01-01 22:56:32 -08:00
Chris Rhodes
4e23e5fc35 Implement state tracking.
Currently maintains a list of Guilds (Members/Channels) and PrivateChannels.
2016-01-01 22:47:19 -08:00
Bruce
43bf17c302 Merge pull request #39 from iopred/mentions
Add a method on Message to replace mentions with usernames.
2016-01-01 18:30:37 -06:00
Chris Rhodes
ce0d4e5ee3 Add a method on Message to replace mentions with usernames. 2015-12-31 18:23:05 -08:00
Chris Rhodes
f1fc2f0996 Add GuildBan handling in wsapi. Closes #24.
Also refactor event handling so error logging is unified.
2015-12-31 12:33:46 -08:00
Bruce Marriner
6991af8500 Added support for USER_SETTINGS_UPDATE websocket event, closes #11 2015-12-29 12:45:30 -06:00
Bruce Marriner
bb4f63775e Updated to support new Discord method of sending game playing data, closes #34 2015-12-23 23:51:20 -06:00
Bruce Marriner
0360acbaa0 Added support for USER_UPDATE websocket event, closes #28 2015-12-21 11:24:48 -06:00
Bruce Marriner
d9a9a765d8 Removed Cache variable from Session, as it's not used currently. 2015-12-06 18:37:13 -06:00
Bruce Marriner
dd4aef7263 Added AutoMention option to parse MessageSend for any <@ID> tags. 2015-12-06 17:04:05 -06:00
Bruce Marriner
c77f7f3ff8 Added VoiceReady, DataReady, and UDPReady flags to Session struct 2015-11-25 19:28:53 -06:00
Bruce Marriner
35e3966b91 Reworded top comment 2015-11-23 10:16:23 -06:00
Bruce Marriner
abe55ecca7 Some improvements to comments. 2015-11-23 09:45:40 -06:00
Bruce Marriner
f789b29a8d Use the right websockets. 2015-11-22 14:23:52 -06:00
Bruce Marriner
3e605c64a6 Moving all structs to structs.go for now. 2015-11-22 14:21:41 -06:00
Bruce Marriner
8ef21d2380 Fixed IDs left as ints instead of strings. THANK YOU - Pikachu 2015-11-17 21:26:24 -06:00
Bruce Marriner
4316dfe9b9 Removed "Sample" from VoiceRegions struct 2015-11-17 10:42:58 -06:00
Bruce Marriner
f655167761 Several updates to make library more idiomatic Go 2015-11-16 21:39:39 -06:00
Bruce Marriner
91207ece15 Large additions to REST API and Websocket API. 2015-11-16 13:05:56 -06:00
Bruce Marriner
4fc845b7eb Added structs for voice regions and ice 2015-11-14 11:14:30 -06:00
Bruce Marriner
2c3ca777f9 Clean up, notes 2015-11-09 14:22:36 -06:00
Bruce Marriner
e6789fde74 Inital add of Websockets 2015-11-08 21:42:16 -06:00
Bruce Marriner
f3ddf16ff7 Removed Mentions struct, as its the same as User 2015-11-07 11:31:46 -06:00
Bruce Marriner
782fbe2bc9 Added Message func to client.go to pull channel messages 2015-11-03 10:56:09 -06:00
Bruce Marriner
66da5a3ae4 Created a client.go with low level access functions and started
working on "easy access" methods in each data structure that point
to the low level client.go functions.  Added channel.go, server.go
2015-11-03 08:35:58 -06:00
Bruce Marriner
c0f68b4bd5 Refactoring stuff, moved things around :) 2015-11-02 16:43:10 -06:00
Bruce Marriner
49ca49f6de Moving structures to structs.go to clean up client file some.
Will probably move these all into individual files later
2015-11-02 11:09:52 -06:00