does not support property omission at this time, will need to be added
later using a separate converter and base marker class.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
"git failing to recognize gpg key, this identity is still valid"
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEErbDRxgZ77MPT+ajAOrLKmA3cYakFAl4bthEACgkQOrLKmA3c
YamuWw/7Bn/Ks0mTRN3tg3Z/voETJ/8JQZXJEiW7wwv8c7nSOemxRNB/Tmzo3kzC
N6T5fH7Gep4o4iA7CfJ5CZtx+OY92OpyBwsJgkNvANVpjXWCeDaww0Ci5dyVwFUk
fFq21l6p2sbM6PB9sEOCvryeIOrgkqBl915MkAlj+/UtnAQ9qFhomIGNLPPFeYOS
eaHWjZF6ArbF5NMaOhboDDCIl2nCf+RGEetDoBP2BRaIf+eOyl0lGyQqiY1mNqkD
DX8nmcaY5/Lnxhf3pwmYZbqKBPQt5R2FxmqWTg5ey0R4//izE4TJ54nlhdSnTZpH
7ZligmR9rQFdQ5jbSq6cIclo9i988ELHKBgt8mG3SiC4AT0+SBXRpPRBitkA0CPb
O4W8J0HrbSFmILx9Zvuy72KC/Zzo+SOS8257S35ihosrlyupcR4zladVcIviAPWk
Ovpy85W4uxPdWc6zkMOZSx9OiYFYkNlK/QdNJBXGg7LLcaLf8p33lj+T8UXa7dyC
Sw/pW5RL1FYalh7iXF55ylJrKo+oySBejods+ATnmYG4JMywO+GNCE+XLCcDpoBx
9H2z0qJNb5Dgkc4cRulKwYEoT+LQKUhLFdj4wNEqE8mBw0ZoxUiBBqOD1TiZr2mf
1AFQVS/AeOc03t25OfmhNz026OAGy01bjeHr09deT20dsssEpQY=
=n76m
-----END PGP SIGNATURE-----
Before this change, non-remainder string arguments like @"test \n"
would escape the character 'n', even though there is no reason to.
For the purposes of the command parser, the only character(s) that
can be escaped is the closing quotation mark (typically '"').
This change only removes the backslash character from the resulting
argument if it matches the closing quotation mark. This change
does not affect remainder parameters.
For example:
@"`\\test`" now results in @"`\\test`", not @"`\test`"
@"test \n" results in @"test \n", not "test n"
Fixes the size of the logo on the index page of the documentation.
On mobile or small windows, this logo would be too large.
This adds a rule to the CSS for that logo that fixes it's size.
This resolves#1224.
Previously, raising CommandExecuted for errors was dependent on the
failed result making it back to ExecuteAsync. This is not possible with
async commands, which always pass back a succesful promise result,
rather than their fulfilled result.
This change moves the event invocation for exception'd ExecuteResults to
their source, and excludes ExecuteResult from the late event invocation
in CommandService#ExecuteAsync.
An img tag gets default styling in these browsers & acts strangely when a src isn't present, and since we switch the logo with css, this can just be a div. Tested & working with all themes in Chrome & Firefox.
* Fix broken link (#11)
* Fix typos and improve wording
* Add information for IGuildUser
+ Add GetPermission sample
+ Add ModifyAsync remarks
* Add information for IGuildChannel
+ Add ModifyAsync remarks
+ Add GetOverwritePermissionAsync examples
* Add warning for Direction.Around
* Fix indentations and references
* Move IRole.ModifyAsync sample
* Add information for IUser
+ Add example, remarks for Get(Default)AvatarUrl
+ Add example, remarks for GetOrCreateDMChannelAsync
+ Add missing remarks/summary/returns for other properties of the class
* Change verbs used in IVoiceState summary/remarks
* Add additional explanation for IGuildUser.RoleIds
* Change verbs used in IMessage summary/remarks
* Clarify IUserMessage Add/RemoveReactionAsync samples
* Fix command handler sample typo
* Add information for DiscordSocketConfig
+ Add remarks/example to the class
+ Add remarks to AlwaysDownloadUsers
* Fix documentation for SlowMode
* Add additional remarks for Guild/TextChannelProperties
* Update DocFx.Plugins.LastModified to v1.2.0
This should drastically improve docfx build time.
* Add missing dependencies
* Update DocFx.Plugins.LastModified to v1.2.1
Improve performance
* Update DocFx.Plugins.LastModified to v1.2.2
* Clarify deployment.md
+ Rewritten .NET Core deployment strategies for better clarification
* Split deployment types into framework-dependent and self-contained
* Clarify the benefits of using different types of publishing
* Include a sample of how to execute dotnet application with the dotnet command in a TIP dialog for visibility
* Update post-execution article and samples
+ This change is to reflect changes made in https://github.com/RogueException/Discord.Net/pull/1164, where CommandInfo is now passed into the CommandExecuted event as an Optional<T>
* Update DocFX.Plugin.DescriptionGenerator to v1.1.1
* Adjust according to recent CommandExecuted changes
See:
+ f549da50e0
+ 6260749095
* Add further documentation for https://github.com/RogueException/Discord.Net/pull/1037
* Add partial documentation for the precondition helper class
* Include CHANGELOG.md in docs
* Revise post-execution docs
* Fix incorrect Optional<T> usage
* Indent some sample code and add a comment reminding the user that the post-execution basic sample code is not ideal.
* Streamline docs for Attachment
+ This commit also adds further explanation for why Embeds and Attachments are read-only collections
* Add further documentation for MessageActivity and MessageApplication
* Add caching-related docs to ISocketMessageChannel
* Add missing documentation inheritance for SyncPermissionsAsync
* Streamline documentation process
This is done by changing the documentation of the implementations required by interfaces to redirect to the interface method instead (e.g., SocketDMChannel#GetMessagesAsync refer to IMessageChannel.GetMessagesAsync within the remarks of the method).
* Cleanup 92bf8363ca
* Update src/Discord.Net.Core/Entities/Channels/Direction.cs
Co-Authored-By: Still34 <341464@gmail.com>
* Update src/Discord.Net.Core/Entities/Channels/Direction.cs
Co-Authored-By: Still34 <341464@gmail.com>
* Update src/Discord.Net.Core/Entities/Channels/GuildChannelProperties.cs
Co-Authored-By: Still34 <341464@gmail.com>
* Update src/Discord.Net.WebSocket/DiscordSocketConfig.cs
Co-Authored-By: Still34 <341464@gmail.com>
* Update according to PR suggestions
* Reword sentences of deployment article for clarification & remove mention of portability
* Fix typos/grammar errors within TextChannelProperties
* Add the logo SVG to the page navbar
* Implement changing logo image based on theme color using CSS background image
* Add a favicon
* use the purple logomark instead of white
* hack? set the title to navbar svg to read "Discord.Net Docs"
this was done with intention to help keep the repository's working size
down, since most of these files will not be used.
rendered images have been moved online to
https://discord.foxbot.me/logo/
This resolves a bug where disconnecting the socket client would not
actually close the websocket. Bots would appear to remain online in the
discord client until their connection to discord eventually timed out.
The underlying cause of this issue sourced from the cancellation token
passed into the websocket's ReceiveAsync method - when entering the
disconnect process, the first step is to cancel out all of the
connection tokens. Unfortunately, the standard ClientWebSocket handles a
token cancellation by aborting the socket, rendering it inoperable for a
safe closure.
This change removes the inner cancellation token passed into
ReceiveAsync. The cancellation token is still retained for use in the
receive loop, so the receive task should gracefully complete once some
event satisfies the ClientWebSocket's blocking receive.
To ensure that all clients succesfully close, regardless of their
traffic, the disconnect procedure was rearranged such that awaiting the
receive task now occurs last, after the socket has been closed. Closing
the socket will propagate an event up to the ClientWebSocket's receive
method, which will allow the loop to iterate and gracefully complete.
So far, I have validated this change against basic connection opening
and closing, for both the gateway and voice clients. I have not yet
validated against unplanned connection interruptions, though I believe
that this change might actually improve some of those connection bugs,
since the ClientWebSocket should never find itself in an aborted state.
Co-authored-by: Chris Johnston <chris@thejohnstons.net>
commit 23f5abba48
Author: Christopher Felegy <foxbot@protonmail.com>
Date: Thu Dec 20 17:10:21 2018 -0500
lint: clean up some long lines
commit 4a8a809db0
Author: Chris Johnston <chris@thejohnstons.net>
Date: Sat Dec 15 00:33:05 2018 -0800
Explain why CreatorId can be null sometimes
commit 9442e4e635
Author: Chris Johnston <chris@thejohnstons.net>
Date: Fri Dec 14 23:59:01 2018 -0800
Add the CreatorId property to GuildEmote implementation
commit e0eb94d44c
Author: Chris Johnston <chris@thejohnstons.net>
Date: Fri Dec 14 23:41:54 2018 -0800
Update the Emoji API model to add User? attribute
* feature: add DiscordSocketRestClient
this resolves#803.
Users can access a DiscordSocketRestClient from the new
`DiscordSocketClient.Rest` property.
DiscordSocketRestClient is a wrapper over DiscordRestClient with certain
state-modifying methods, such as Login/Logout disabled, to prevent users
from breaking the client state.
DiscordSocketRestClient uses the same API client as the
DiscordSocketClient, allowing for shared ratelimiting - meaning users
can now force HTTP requests without needing to wory about running into
429s.
* fix: disallow users from bypassing shadowed login
* improve bot token validation by trying to decode user id from token
Try to decode the user id from the supplied bot token as a way of validating the token. If this should fail, indicate that the token is invalid.
* Update the tokenutils tests to pass the new validation checks
* Add test case for CheckBotTokenValidity method
* lint: clean up whitespace
* Add check for null or whitespace string, lint whitespace
* fix userid conversion
* Add hint to user to check that token is not an oauth client secret
* Catch exception that can be thrown by GetString
* Refactor token conversion logic into it's own testable method
* Update the minimum bot token length to 58 char
- Updates the minimum length of a bot token to be 58 characters. An older 58 char bot token was found by Moiph
- Makes this value an internal const instead of a magic number
* update the TokenUtils tests for 58 char min
* Initial set of dispose implementations
Not handled yet:
- Discord.Net.Websocket/Entities/SocketGuild
- Discord.Net.Tests
* Refactor DiscordSocketClient init into ctor
This way we remove an IDisposableAnalyzer warning for not disposing
the client when we set the client variable.
* Dispose of clients when disposing sharded client
* Finish implementing IDisposable where appropriate
I opted to use NoWarn in the Tests project as it wasn't really necessary
considering that our tests only run once
* Tweak samples after feedback
* Added ability to specify position when creating a channel
* Adjusted categories to include guildproperties and allow specifying position when creating channel categories
* fixed unimplemented methods (for CreateCategoryChannelAsync) and added appropriate documentation
* Add NamedArgumentTypeAttribute
* Add NamedArgumentTypeReader
* Fix superflous empty line.
* Fix logic for quoted arguments
* Throw an exception with a tailored message.
* Add a catch to wrap parsing/input errors
* Trim potential excess whitespace
* Fix an off-by-one
* Support to read an IEnumerable property
* Add a doc
* Add assertion for the collection test