Volte V2.4
In this release, things were tidied up to be more consistent for the end-user.
End-User Changes
- true/false can now be passed in as an argument for commands that require a boolean value. How did I overlook this?
- Shutdown command now kills the entire process, rather than keeping it alive but logging out of Discord.
- Avatar command now shows a larger avatar than before.
- Mod log! Track your moderation in a channel.
- Set it up with
$modlog #some-channel
- Set it up with
- Verification removed entirely.
- Eval no longer shows the
input
field on completion. That was redundant. - Eval shows the return type from the eval.
- Eval error is now shown in the embed rather than making a file, uploading it, then deleting it from the file system.
Tags
command: list tags in the current guild.- Purge command now has an optional parameter to purge messages by a certain user.
- Roles that no longer exist will be omitted from the SelfRoleList command, previously it just stated "Role no longer exists.".
- Fixed a discrepancy in which some commands remarks help string contained the default prefix instead of
|prefix|
. - Bot now responds to mention prefixes when the bot has a nickname in the current guild.
- Previously, two commands named
RoleColor
existed. One in the Utility module and the other in ServerAdmin.
The one in Utility was renamed toColor
, and the one in ServerAdmin is stillRoleColor
.- This was actually the cause of #31.
- Updated UserInfo to have a better format of CreatedAt, as well as include JoinedAt.
Nerdy Changes
- Classes that could be made sealed were made sealed.
- Various Extensions under Volte.Extensions were moved to Gommon for less code redundancy per-project.
VolteHandler#HandleMessageAsync
was moved to EventService for uniformity.- .NET Core upgraded to 2.2 from 2.1.
- Remove all usages of
Task.Delay().ContinueWith()
and replace them withExecutor.ExecuteAfterDelayAsync()
. DiscordServer
type renamed toGuildConfiguration
.Volte.Discord
renamed toVolte.Core
.- All
using
directives were updated accordingly.
- All
LoggingService#Log
was renamed toLoggingService#LogAsync
to stay in line with C# standards.obj == null
was still used in some places, replaced that withis
pattern matching.- Eval now runs in a disposed-of Executor.ExecuteAsync call to prevent gateway task blocking.