Volte Versions Save

A free, robust, open-source Discord bot written in C# using .NET and a whole lotta Man Hours.

V2.3.0.1

5 years ago

Eval actually works now, smh.

V2.3

5 years ago

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.
  • 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 to Volte.* as Core was redundant as hell.
  • Volte.Runtime moved to Volte.
  • GitHubService marked as Obsolete.
  • Deleted Volte.Utils.Util and refactored accordingly.
  • EmbedExtensions Embed/EmbedBuilder#SendTo was changed to SendToAsync 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 than abusing polymorphism implementing 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.

V2.2.1

5 years ago

This release includes a few additions and changes. AdminRole and ModRole no longer search for a role just by its name. You can now use ID, direct mention, OR name.

  • ServerAdmin commands
    • Change properties of your server! Name, current channel's name, etc.
      • THIS IS INCOMPLETE.
  • Verification
    • Give a user a role when they react with ☑ on a message with a set ID.
      • Configurable with the VerificationRole and VerificationMessage commands.
  • DiscordServer object refactored to not have as many properties and to instead offload them to separate objects.
    • The database will be reset as of the release on public Volte.

Issues closed:

  • None

Pull requests merged:

  • None

V2.2

5 years ago

V2.2 is here!

Prominent Changes:

  • Economy system removed entirely.
    • Levels admin command removed.
    • User data is no longer stored. This should decrease overall Database space drastically.
  • Discord.Commands to Qmmands
    • This means that commands that had a space in their name now do NOT.
    • Command errors also show more detailed information.
  • Info command now shows the host machine's OS and .NET Core version.
  • Spotify command
    • Show what you're currently listening to on Spotify.
  • BigEmoji command
    • Give it an emoji to see it as a big image.
  • Snowflake command
    • Give it a Discord snowflake ID to see its creation time.
  • Quote command
    • Give it a message ID (from the current channel) to get a message with the content of that message and a jump URL.
  • Eval command runs in a new Thread to avoid blocking the main thread.
    • Long-Running evals could cause the bot to disconnect from Discord.
  • Help command divided into subcommands:
    • Commands: Show commands for a module.
    • Command: Show info for a command.
    • Modules: Show available modules.
  • Commands that were previously in the General module were moved to the Utility module.
  • Tags are NO LONGER in embeds when you request them. As such, @everyone and @here was replaced to contain a zero-width space so it doesn't ping anyone and doesn't look ugly.
  • Moderation commands now check if the bot has correct permissions rather than only the command executor.
  • Mention prefixes are now properly handled.

Backend (Nerdy) Changes:

  • Main method made async.
  • Reformatted from end-of-line braces to new line braces.
  • Some using directives were removed as they were redundant.
  • GitHub service for the upcoming git commands in the next update.
  • Boolean TypeParser to allow non-true/false options to be passed in to a command requiring a Boolean value.
    • Examples would be "yeah" or "nah".
  • All Services now implement IService to allow automatically adding Services to the global ServiceProvider.
  • Commands now show how long they took to execute in the bot console.
  • ALL async methods returning Task or Task<T> have had Async appended to their name.
    • Including commands.
  • DatabaseService.Database is now a public instance method to use it in Eval without instantiating a new LiteDatabase.

V2.1.0.1

5 years ago

This release only exists because I'm stupid.

This is the only change: https://github.com/GreemDev/Volte/commit/c489807dbd6fe5c835d0acafbbbe92855f1faf95

V2.1

5 years ago

This release replaces the CustomCommand system with the Tag system.

Configurable Guild join/leave logging:

  • Be mentioned when the bot joins a guild with more bots than users.
  • Be notified when the bot joins/leaves a guild.

New Admin commands:

  • Tag Create

    • Aliases:
      • Tag Add
      • Tag New
    • Description: Creates a tag with the specified name and response.
  • Tag Delete

    • Aliases:
      • Tag Del
      • Tag Rem
    • Description: Deletes a tag with the specified name.

New Utility commands:

  • Tag

    • Description: Shows the response of the tag with the given name.
  • Tag Stats

    • Description: Shows the stats of a given tag.

Issues closed in this release:

Pull requests merged in this release:

  • None

V2.0.4

5 years ago

Logger was completely remade into a Service as well as being prettier. Eval command added, with support for various objects to be used inside the command (such as Context).

Issues closed in this release:

Pull Requests merged in this release:

  • None

V2.0.3

5 years ago

Various inconsistencies were fixed in this release, such as PingChecks always setting your option to true when running the command.

Issues closed in this release:

Pull Requests merged in this release:

  • None

V2.0.2

5 years ago

Issues closed in this release:

  • #14 (commit said fixes #3 but that was a mistype!)

Pull requests merged:

  • None

V2.0.1

5 years ago

Issues closed in this release:

Pull Requests merged:

  • None