Skip to content
This repository has been archived by the owner on Jan 11, 2022. It is now read-only.

What's new in v4?

Harry Burnett edited this page Feb 14, 2021 · 2 revisions

Differences Between V3 and V4

This will essentially serve as a changelog for all of the things that have changed in the rewrite.

Core:

  • Database is now managed via Entity Framework.
  • Proper implementation of Dependency Injection (very very common for Discord.NET bots)
  • Commands system is all new:
    • $help command list is much shorter and more organized.
    • Commands all have "parents" and are typically invoked via sub commands.
      • e.g. $ban -u to unban instead of $unban -- Everything is under the "ban" parent.
  • The way in which some commands are "interacted" with (almost always via reactions) is much better, using an all new system.
  • Overall much more organized codebase (no more spaghetti code!)
  • Much more efficient and reliable than ever before (many, many times faster and more reliable)
    • Zero crashes during the entire open beta up until this point.
  • Reliable continuous integration and developer workflow (merge into branch = new build / deployment of update).
  • It is much easier for developer contributors to get started developing Kaguya. V4 is designed to get up and go quickly on any machine.
  • Database management is much more structured - much more concrete foundation in the code versus 1 massive, messy generic class. This increases performance as well.
  • Overall, the changes we have made under the hood allow for super fast development of more high quality features.

User-facing changes:

  • $help command and documentation features are all-new -- much more detail is provided in the documentation portion than before, making it easier to learn Kaguya.
  • $fish no longer requires you to sell your fish after catching them. They are immediately sold.
  • (temporarily, I may revert this!!) -> Songs played via $play and $search are no longer limited to 10 minutes for non-premium users.
  • Kaguya premium will have its price reduced to $2.99 / month (was $4.99). (Store update coming soon).
  • Anti-raid is much better than ever before. Anti-raid has no delay on trigger and the issue with some users not being banned due to not being included in the exact timing window has been resolved.
    • For example: Say you have anti-raid configured to ban all users who join within 20 seconds of each other if there are 5 or more users joining.
    • Previously, if 4 users joined within 20 seconds and another 4 users joined on the 21st second, nobody would be banned.
    • Now, if a user joins, a threshold timer begins. If another user joins within that time, the timer is reset (to 20 seconds in this case), and the second user gets added to a list. Now if 3 more join 18 seconds later, all users will be actioned appropriately.
  • $profile no longer has an image with progress (coming soon).

There are some changes that may not be listed here. If you think something should be added, please let me know.

I also understand that there are features that were present in V3 that are not present in V4. Anything I don't plan to reintroduce will be posted here.

What is planned: Here are some things I plan to introduce down the road:

  • Expanding $osu commands more than before.
  • Expanding music module to include playlists, favorites, shuffling, etc. I also want to add support for enqueuing of playlists straight from YouTube.
  • Inventory. Users could get items (potions, other items) that enhance luck, reduce cooldowns, increase rewards, etc. for games.
  • Multiplayer games (i.e. raids against "bosses")
  • Really put a lot of effort into making chat responses higher quality. Similar to that of Tatsumaki bot.