Commit Graph

394 Commits

Author SHA1 Message Date
Mateusz Brawański
b4bf046ad4 Implemented emoji endpoints (#835)
* Implemented emoji endpoints.

* Fixed: now using API entities for REST client.

* Removed emoji listing endpoint, as per @foxbot's request.
2017-11-20 15:02:42 -05:00
Christopher F
9979a027d5 Change default InviteAge to 24 hours
Resolves #859
2017-11-10 15:39:33 -05:00
enzosk8
da335b95c4 Fix general typos (#852) 2017-11-05 22:05:19 -05:00
Finite Reality
759db34146 Remove payload compression, use stream compression (#853) 2017-10-21 13:51:20 -04:00
Alex Gravely
e00f17fe55 Move DeleteMessagesAsync from IMessageChannel to ITextChannel (#829) 2017-10-01 15:37:13 -04:00
Christopher F
347c5a0d39 Disable obsolete warnings in files that reference TokenType.User 2017-09-29 17:37:07 -04:00
Chris Johnston
f8108871d6 Typo fix for SocketGuildUser.Hierarchy description (#831) 2017-09-28 16:26:23 -04:00
Alex Gravely
9b7afec4cc Add BaseSocketClient object. (#773)
* Add BaseDiscordClient. Add various missing RequestOptions args.

DiscordSocketClient and DiscordShardedClient's shared members now exist in this abstract class.

* Add ShardReady event.

* Style consistency. Remove extraneous overloads.

Remove extraneous overloads.

* Add BaseSocketClient#DownloadUsersAsync().

Style cleanups.

* Add ShardLatencyUpdated event.

Style cleanup.

* Hook LatencyUpdated for ShardedClient.

* Begone whitespace.

* I'm good at this, I swear. >_>

* Add back DiscordShardedClient.UserPresenceUpdated

* Add ObsoleteAttribute

* Removing the UserPresenceUpdated event.
2017-09-27 18:20:31 -04:00
Chris Johnston
30e867a183 Implement welcome message channels (#819) 2017-09-23 17:00:08 -04:00
Alex Gravely
ec03883e26 Create unspecified channel object for unknown channel types (#811)
* Partial fix of #810, addresses critical connection issues.

* Implement fix for REST.

* Implement fix on RestChannel.
2017-09-09 15:56:03 +01:00
Christopher F
608bc359ee Removed IChannel#Nsfw, added to ITextChannel 2017-08-29 17:26:36 -04:00
Christopher F
5d7f2fc7ec Add GetReactionUsersAsync(IEmote) overload (#731)
* Add GetReactionUsersAsync(IEmote) overload

Resolves #730

* Remove obsolete GetReactionUsersAsync(string) overload
2017-08-29 17:09:28 -04:00
Christopher F
4205d68b5a Don't throw when receiving a presence for a user that doesn't exist (#746) 2017-08-29 16:26:31 -04:00
Christopher F
1ffcd4bfa7 Changed Guild#DefaultChannel to resolve the first accessible channel (#777)
* Changed Guild#DefaultChannel to resolve the first accessible channel

Resolves #776

This change is inline with hammerandchisel/discord-api-docs#329

RestGuild#DefaultChannelId is now obsolete and will throw a
NotSupportedException.

* RestGuild#DefaultChannelId will fall back to the guild ID

Adding an exception here would be a breaking change, so this was agreed
to fall back to the previous behavior, which would just return the guild
ID.
2017-08-28 16:49:16 -04:00
Christopher F
182f00f8ce Reworked IChannel.IsNsfw to support the new API flag (#771)
IChannel.IsNsfw will now return false when being used on any channel
that is not an ITextChannel. When being used on an ITextChannel, this
will now account for the API flag, and fall back to the channel name.

(this is gross design, thanks discord)
2017-08-28 16:45:53 -04:00
RogueException
f997089174 Try to pull DM channels from cache on CHANNEL_CREATE 2017-08-17 02:54:19 -03:00
Alex Gravely
6b5a6e7f1f Fix everyone mention. (#755)
* Update RestRole.cs

Fix everyone mention.

* Update SocketRole.cs

Fix everyone mention.

* I'm good at this, I swear.
2017-08-17 02:47:37 -03:00
Joe4evr
8cd99beb62 Unify ShardedCommandContext with SocketCommandContext (#739)
* Make ShardedCommandContext derive from SocketCommandContext

* Explicitly re-implement ICommandContext.Client
2017-07-05 20:23:46 -03:00
RogueException
14dfc48df3 Style cleanup 2017-06-29 19:44:32 -03:00
Pat Murphy
224d0403db Adding Equals() overloads for reactions/emotes (#723) 2017-06-29 18:05:16 -03:00
Christopher F
1ce1c019b3 Add support for audit log reasons (#708)
* Add support for audit log reasons

* Made changes per discussion
2017-06-29 17:01:59 -03:00
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