Volte V2.3
End-User changes:
- MentionRole command
- Mention a role if it can, or make a role mentionable, @ it, and make it non-mentionable again.
- RoleColor command
- Change the color of a Role. Note that it will not work if you're doing it by name and the name contains spaces.
- Bot owners now bypass server-specific permissions.
- This is for helping users if they're having a hard time setting it up. I can assure you this will not be abused by me on public Volte.
- Quote command overload to allow quoting from other channels.
- Usage:
$quote {channelId} {messageId}
Note that the Command command doesn't show this overload.
- Usage:
- You can now blacklist guild owners. Previously this was disabled and commented out because it was buggy.
- You can now add self roles to the self role list that have spaces in their name. How did I overlook that?
- SrA/SrR aliases added to the SelfRoleAdd and SelfRoleRemove command respectively.
- Some wording changed around.
- Now has a proper license: MIT.
- When commands fail, they now show more detailed information, such as the exact error that occured.
Developer changes:
- Note, that when C# 8/.NET Core 3.0 is in public release, Volte will be switching to target that framework. Self-hosters and contributors will need to update their Runtime/SDK.
Volte.Core.*
moved toVolte.*
asCore
was redundant as hell.Volte.Runtime
moved toVolte
.GitHubService
marked as Obsolete.- Deleted
Volte.Utils.Util
and refactored accordingly. EmbedExtensions Embed/EmbedBuilder#SendTo
was changed toSendToAsync
to properly signify that it's async.- Services rely on Dependency Injection for instantiating other Services rather than direct
ServiceProvider#GetRequiredService<T>()
calls. - Services now have a
Service
attribute so signify they're Services, rather thanabusing polymorphismimplementing an Interface. - The static helper class
Volte.Utils.UserUtil
has been removed in favor of extensions on the user object itself. - Getters were put on the
EmojiService
properties. - Removed redundant null checking in some commands because their respective TypeParser already handled that.
- Cleanup some imports.
- Redundant checking in Config.cs exported to the
_valid
variable. - Some
if
nesting was removed to improve readability. Type
/TypeInfo
now has an extension:HasAttribute<T>() where T : System.Attribute
.