* Throw when attempting to modify a message not made by the current user
* Didn't realize the client is passed into the MessageHelper function
* Respond to feedback
This resolves#987
Previous behavior was that even if `null` was passed for an embed in
UploadFileAsync, the Embed property on UploadFileArgs was still
specified - this meant we were always sending a payload_json.
If a payload_json is specified, it seems like Discord will only read
from the payload_json, and will ignore properties set outside of it.
To prevent unnecessary code duplication, this commit always specifies
parameters in the payload_json, and also will only include the embed if
one was actually specified with real data (not null).
Previously it was implemented under Discord.Net.Rest, which seems
inconsistent and unnecessary.
This also allows Commands docstrings to reference EmbedBuilder, since
Commands only has a dependency on Core.
commit a8bafb90cd
Merge: f38dd4c47e04285e
Author: WamWooWam <wamwoowam@gmail.com>
Date: Mon Mar 12 08:05:52 2018 +0000
Merge branch 'dev' of https://github.com/WamWooWam/Discord.Net into dev
commit f38dd4c421
Author: WamWooWam <wamwoowam@gmail.com>
Date: Mon Mar 12 08:05:49 2018 +0000
Cleaned up & fixed code style.
commit 7e04285e5d
Author: Thomas May <wamwoowam@gmail.com>
Date: Sun Mar 11 14:11:28 2018 +0000
Revert changes to DefaultRestClient
Didn't actually need to change this, whoops.
commit 3f5b2c8ef1
Author: WamWooWam <wamwoowam@gmail.com>
Date: Sat Mar 10 19:30:44 2018 +0000
Enabled embeds alongside uploaded files.
God damn Discord is a mess.
Co-authored-by: WamWooWam <wamwoowam@gmail.com>
* Fix#854 Added ViewChannel enum and property to channel permissions
* replaced usages of ChannelPermission#ReadMessages with ViewChannel
* rename parameter of ChannelPermissions constructor
* made OverwritePermissions#ReadMessages obsolete, use ViewChannel instead
* Fix#854 Added ViewChannel enum and property to channel permissions
replaced usages of ChannelPermission#ReadMessages with ViewChannel
rename parameter of ChannelPermissions constructor
made OverwritePermissions#ReadMessages obsolete, use ViewChannel instead
* renamed readMessages parameter in ChannelPermissions constructor and Modify
* fixed channel permission tests to use ChannelPermission enum instead of GuildPermission enum
* replaced usages of readmessages in channel permission tests
* resolve build warnings for permission tests
commit a85c5814a7
Author: Christopher F <computerizedtaco@gmail.com>
Date: Sat Jan 6 22:25:48 2018 -0500
Code cleanup
commit 4b243fd3dd
Author: Christopher F <computerizedtaco@gmail.com>
Date: Sat Jan 6 22:08:28 2018 -0500
Add support for channel categories (#907)
commit 41ed9106f2
Author: mrspits4ever <spits.lucas@gmail.com>
Date: Thu Dec 14 20:02:57 2017 +0100
removed mentioning support for RestCategoryChannel, added channels property to SocketCategoryChannel
commit 71142c3108
Merge: 4589d731678a7238
Author: mrspits4ever <spits.lucas@gmail.com>
Date: Wed Dec 13 21:17:53 2017 +0100
Merge branch 'dev' of https://github.com/RogueException/Discord.Net into feature/channel-categories
commit 4589d73187
Author: mrspits4ever <spits.lucas@gmail.com>
Date: Wed Dec 13 21:17:46 2017 +0100
adressed requested changes
commit d59b038efa
Author: pegasy <pegasy@users.noreply.github.com>
Date: Mon Sep 25 18:53:23 2017 +0200
Renamed classes / properties / methods to use CategoryChannel instead of ChannelCategory to be consistant with how text / voice channels are named.
commit 5c4777dc8c
Author: pegasy <pegasy@users.noreply.github.com>
Date: Sun Sep 24 19:08:25 2017 +0200
removed Guild from class name for ChannelCategory
Renamed all properties to use Category instead of Parent
Throw exception on GetUsers / GetInvites etc for categories
commit e18bd8c799
Author: pegasy <pegasy@users.noreply.github.com>
Date: Sun Sep 24 15:49:51 2017 +0200
Add support for channel categories (as its own channel type)
* Added workaround for UserHelper#ModifyAsync that accepts null values as a way to reset user nicknames
* Update comments
* Update comment to use see tag
* Add Webhook API models, REST implementation, and Socket bridges.
* Remove token overrides from REST.
Leaving that as a Webhook package only feature.
* Add Webhook API models, REST implementation, and Socket bridges.
* Remove token overrides from REST.
Leaving that as a Webhook package only feature.
* Webhook core implementation.
* Webhook REST implementation.
* Webhook client implementation.
* Add channel bucket id.
* Added support for animated emoji
This was such a useful feature Discord, I'm glad you added this instead
of fixing bugs.
* Fix bugs in emote parser
* Added unit tests for emotes
* Add API-level support for Rich Presences
* Add library-level support for Game presences
* Add model conversions for outgoing+incoming rich presences
* Refactored Game into Activities
* Integrated Activities with user entities
rebase hell from 5f3cb947a9
* Fix JSON converters for Activities
* Finish rebase, activity should be set on BaseSocketClient
* Use ApplicationId to define a rich presence
* Added SetActivityAsync to Base and Sharded Socket clients
* Remove public parameterless Game constructor
* Remove GameAssets, refactored to GameAsset
* Hide constructors for types that should be read-only
* Revert changes to Discord.Net.sln
got damned visual studio caching
* Refactor GameParty to use dedicated current/capacity values
Per feedback from @khionu
* 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.
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)
Seeing as D.NET will warn you about an impending BadRequest if you try and send an empty field, why not make it warn about the impending BadRequest if you try and send a whitespace field?
* Fix potential nullref in embedBuilder value setter
* Null check on footer iconUrl
* Adding checks for the other URL properties
* Adding IsNullOrUri extension
* Setting StringExtensions as internal
* Add embed builder extensions
People in #dotnet_discord-net suggested that this should be part of
the lib after I demonstrated it
* Move some extensions into EmbedBuilder [2]
Apparently git didn't like that previous commit
* Fix error with EmbedBuilderExtensions
A summary of issues which happened:
- Git decided to add an amend commit (I told it to quit?)
- VS Code thinks everything is an error so it wasn't helpful
- dotnet decided to think there was no error until I deleted all
build outputs and rebuild
Sometimes I question my ability to use version control properly.
* Add various property validation in EmbedBuilder
* Embed URI changes
Changes property types for any URLs in Embeds to System.URI.
Adding field name/value null/empty checks.
* including property names in argumentexceptions
* Adds overall embed length check
* remove tip in docs about SocketEntity.Discord
* Expose the 'Fields' collection on EmbedBuilder
After some discussion I decided that there was really no reason to keep this private, and it didn't really go along with the rest of the design of the EmbedBuilder.
This is NOT a breaking change.
Exposing this property should not have any negative effects.
* Don't allow EmbedBuilder's Fields to be set to null