Commit Graph

673 Commits

Author SHA1 Message Date
Alex Gravely
707ec95717 Add SocketRole.Members property (#659)
* Add SocketRole.Members property

* Change Members to IEnumerable.
2017-06-23 12:01:44 -03:00
Amir Zaidi
d088d7b05c Add packetLoss argument for PCM streams, change FrameBytes to FrameSamplesPerChannel in OpusEncodeStream (#677) 2017-06-23 11:48:42 -03:00
Christopher F
5f04e2beba Cache outgoing presence data if disconnected (#705)
This resolves #702
2017-06-23 11:29:45 -03:00
Christopher F
1942637380 Merge pull request #656 from AntiTcb/fix/GetDMChannelAsync
Remove IUser.CreateDMChannelAsync / Fix SocketGlobalUser.DMChannel
2017-06-16 21:22:56 -04:00
AntiTcb
fb57a61432 Rename to GetOrCreateDMChannelAsync 2017-06-16 20:43:50 -04:00
Alex Gravely
8c2a46e9e7 Add ulong overload to IMessageChannel.DeleteMessagesAsync (#649) 2017-06-15 12:05:41 -03:00
AntiTcb
73611d1fab Remove IUser.CreateDMChannelAsync, implicitly implement IUser.GetDMChannelAsync 2017-05-27 14:47:12 -04:00
RogueException
8eb9b2071c Set hasHeader in SodiumEncrypt 2017-05-25 21:45:41 -03:00
RogueException
333881a711 Expose audio header more often 2017-05-25 13:54:57 -03:00
AntiTcb
7db38f32bb Attach/Remove DMChannel to SocketGlobalUser.DMChannel property 2017-05-16 20:04:25 -04:00
AntiTcb
33a91ba3de Remove redundant explicit interface definition. 2017-05-16 20:03:38 -04:00
AntiTcb
aeef5d0893 Update DM channel on entity updates. 2017-05-16 20:03:17 -04:00
AntiTcb
6fed78025c Create DM channel if one does not exist. 2017-05-16 20:02:32 -04:00
RogueException
4c7fad78e1 Build promises when guild is unavailable 2017-05-10 19:28:25 -03:00
RogueException
285a0e5817 Updated deps, cleaned csprojs 2017-05-09 20:51:00 -03:00
Sindre Langhus
82a413ace6 Fix for empty user objects after GUILD_MEMBER_REMOVE (#641)
* Made GetOrCreateUser always call AddRef and added check to PRESENCE_UPDATE to avoid readding users who have been removed from guilds

* Removed AddRef as per dev guild discussion
2017-05-04 13:16:33 -03:00
RogueException
4a128b326b Increment globaluser refs on private channel creation 2017-05-04 13:14:35 -03:00
RogueException
bd5ec0a29a Increment GlobalUser reference count on GuildUser creation 2017-05-04 13:09:55 -03:00
Christopher F
576a52cdc6 Restructure and replace emojis with a new emote system (#619) 2017-05-04 12:52:48 -03:00
Christopher F
7f1fc286cf Add IChannel.Nsfw, RequireNsfw precondition (#633)
* Add IChannel.Nsfw, RequireNsfw precondition

* Refactored IChannel.Nsfw to IsNsfw, removed NsfwUtils

Per pull-request feedback

* proper nsfw channel check
2017-05-04 12:49:32 -03:00
Sindre Langhus
90ac9027cf Replace Where+FirstOrDefault with FirstOrDefault in SocketClient (#636)
* Replace Where.FirstOrDefault with FirstOrDefault

* Replace Where+FirstOrDefault in ClientHelper
2017-04-30 21:29:12 -03:00
RogueException
a306d83283 Added net45 TFM 2017-04-26 10:25:08 -03:00
RogueException
f8b9acc4a1 Use implicit package references (#626) 2017-04-26 10:03:23 -03:00
Christopher F
be6abe1161 Throw when the client isn't logged in instead of connected
The previous commit prevents any connections, since the initial presence update is sent while the client is still in the 'connecting' state, rather than the 'connected' state.

This resolves the original issue by preventing a nullref, and the more recent issue by only throwing a detailed exception when the CurrentUser is null (the client isn't logged in).
2017-04-24 21:53:41 -04:00
Christopher F
f759f942f8 Throw a preemptive exception when sending presence data before connect
This prevents a later, less detailed nullref, when attempting to set the CurrentUser's presence data.

This also removes a redundant CurrentUser assignment in the SetGameAsync method, since this will be set later on in the SendStatusAsync method.
2017-04-24 20:34:18 -04:00
Christopher F
431b7fbd9f Visual Studio C#7 suggestions 2017-04-23 15:23:06 -04:00
Christopher F
6000b15c4d C#7 TODOs 2017-04-23 15:13:31 -04:00
RogueException
e762dddfbb Added SnowflakeUtils 2017-04-19 14:50:33 -03:00
RogueException
8d9e11c08a Exposed IAudioClient.SetSpeakingAsync 2017-04-10 18:00:42 -03:00
RogueException
d2a7be91e5 Added experimental jitter buffer 2017-04-09 01:06:42 -03:00
RogueException
79fd14a95f Various audio fixes 2017-04-09 01:05:52 -03:00
RogueException
39b0a998c8 Fixed a few audio constants 2017-04-08 18:35:57 -03:00
RogueException
e92cfd20ac Audio bugfixes and improvements. 2017-04-08 17:12:10 -03:00
RogueException
424216b793 Disable FEC decoding 2017-04-08 15:44:00 -03:00
RogueException
22a7b7dbba Support more incoming RTP packets types 2017-04-08 02:34:12 -03:00
RogueException
ee4cde69a4 Added UDP keepalives and latency 2017-04-07 22:52:07 -03:00
RogueException
65154e0d4a Enable FEC decoding 2017-04-07 21:28:03 -03:00
RogueException
483d26093b Bump up Opus PLP to 30 2017-04-07 21:14:54 -03:00
RogueException
d2a4f1f09b Strip RTP header during read 2017-04-07 18:35:51 -03:00
RogueException
cbb38bd101 Hide Entity.Discord property 2017-04-06 20:30:11 -03:00
RogueException
0d361def93 Fixed a couple incoming audio bugs 2017-04-06 16:18:21 -03:00
RogueException
653502c371 Changed GuildUser.Roles to ReadOnlyCollection 2017-04-06 00:10:25 -03:00
RogueException
6192228378 Raise GuildMembersDownloaded for non-large guilds 2017-04-06 00:03:34 -03:00
RogueException
eed0598f99 Destroy audio stream when a user disconnects 2017-04-04 00:59:16 -03:00
RogueException
c49118e25f Fixed several audio stream issues 2017-04-04 00:47:34 -03:00
RogueException
ac0a31c3be Send speaking during audio connect 2017-04-03 23:57:11 -03:00
RogueException
d7928622f3 Guild presence should update global. Cleaned up. 2017-04-03 20:41:05 -03:00
RogueException
91b61768f9 Call SetSpeaking directly from BufferedWriteStream 2017-04-03 20:31:16 -03:00
RogueException
e49122ea7e Automatically toggle speaking boolean 2017-04-03 19:59:03 -03:00
RogueException
f3b8937686 Added TryReadFrame and AvailableFrames to AudioInStream 2017-04-03 17:38:28 -03:00