Commit Graph

305 Commits

Author SHA1 Message Date
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
RogueException
b1caec5f59 Add better support for invisible users 2017-04-02 15:08:28 -03:00
RogueException
58d2de2578 Added config for handler timeout duration 2017-04-02 14:49:04 -03:00
RogueException
f0202e4d4e Improved warnings for unknown entities 2017-04-02 14:38:05 -03:00
RogueException
e0e28c6dd1 Changed EmbedChannel's type to GuildChannel 2017-04-01 21:49:34 -03:00
RogueException
bc2e0a19af Fixed non-guild presence updates 2017-04-01 16:44:03 -03:00
RogueException
fd72583a75 Move guild presence updates to GuildMemberUpdated. Filter duplicate UserUpdated events. 2017-04-01 15:05:51 -03:00
RogueException
004bb4cae0 Don't nullref in ShardedClient's OnLogout if already logged out. 2017-04-01 13:54:39 -03:00
RogueException
6798ba0d4b Prevent duplicate incoming stream events on connect 2017-04-01 13:44:35 -03:00
RogueException
fd043b3d53 Clear input streams on audiostream disconnect 2017-04-01 13:32:19 -03:00
RogueException
d991834c50 InputStreams should be disposed when destroyed 2017-04-01 13:21:08 -03:00
RogueException
d243587a97 Send no more than 10 frames of silence. 2017-04-01 13:16:18 -03:00
RogueException
909127d330 InputStream reads should wait until data is available. 2017-04-01 13:13:20 -03:00
RogueException
5229ddb579 Added SpeakingUpdated event 2017-04-01 13:12:41 -03:00
RogueException
35e793fd9a Leave voice channel on audioclient disconnect 2017-04-01 12:59:57 -03:00
RogueException
3e988c7549 Fixed incoming audio, removed nameresolution dep. 2017-04-01 12:59:27 -03:00
RogueException
27d6f4159d Lowered latency updates to debug level 2017-04-01 11:42:19 -03:00
RogueException
7242a85200 Fixed a couple small errors 2017-04-01 11:23:49 -03:00
RogueException
b5d817f171 Cleaned up csprojs, added support for tag builds. 2017-04-01 11:11:09 -03:00