Skip to content

Releases: Kile/Killua

v1.2.2

02 Mar 16:09
Compare
Choose a tag to compare

🐛 Bug fixes

  • The "this artwork has been specifically created for this bot" info would not show up when it should
  • An attempt has been made to get the top.gg guild count up to date again

Voting reminders also broke at a certain point as they tend to do when the bot runs for a long time without interruption. This new release and corresponding restart fixed this for now.

🛠️ Changes

The API Killua for action images like pat, smile, slap etc has been changed to nekos.best. This has been done mainly in a continued effort to use credit to any resources and art that Killua uses and this API provides credit with all their images and GIFs. The API did not have the same endpoints 1:1 so the following changes were made for action commands:

Endpoints/commands removed

- tail 
(there was no equivalent endpoint)
- neko 
(this command felt misaligned with the goals of Killua and has been removed)

Endpoints/commands added

+ nope
+ yawn
+ smug
+ cry

Full Changelog: v1.2.1...v1.2.2

v1.2.1

05 Jan 13:40
Compare
Choose a tag to compare

I realised I should make smaller releases when I change some small things rather than only doing major version bumps

🐛 Bug Fixes

  • Fixed a bug where it would not cache the guild data
  • Fixed a bug that would lead to boosterinfo erroring if it was used before
  • Fixed a bug that allowed long user input to break 8ball's output
  • A previously uncaught error is now caught

🛠️ Changes

  • Reworded the README to clarify some things

📦 Additions:

  • Exclusive specifically commissioned for Killua hug image!
  • Added a note on all hug art created specifically for Killua stating this
  • Added a few more hug images and found credit for one uncredited one

Full Changelog: v.1.2.0...v1.2.1

v1.2.0

07 Dec 01:11
Compare
Choose a tag to compare

This was meant to be a commit to main adding a few hug images 😭. Instead this served as great procrastination to my coursework and I was able to fix a bunch of bugs, made a ton of quality of life improvements and made running the bot for contributors much easier!

🛠️ Changes

  • All images Killua sends now come with a token. When that token expires, the image will not be displayed anymore (Similarly to a system Discord implemented somewhat recently). Without such a token, no image will be shown you access. This has been done to prevent someone using the Killua hugs API for their own bot without credit to me or the artists as well as to hide some game features. If you would like to read more about it, check out algorithms/image-cdn.md where I go more in depth. This should change very little on the user side.
  • The resolution of k!book has been DOUBLED. This should have been done much sooner and now makes it much easier to read card numbers.
  • unban got a much needed update since it still relied on old usernames with discriminators to unban someone who were not on the server. Now a normal username will work.
  • In a good amount of places where usernames were shown, instead display names are now shown.
  • Card data is now stored differently. This makes it easier for other contributors to not have to come up with it themselves and should make anything card related much faster!
  • A lot of versions have been bumped in libraries Killua uses, so generally performance should be better
  • Cards and hugs images are not public in the source code anymore
  • Killua's presence is only updated every Xth time he is removed or added from a server to prevent rate limits

🐛 Bug fixes

  • s will now work as an alias to spin where it did not before cause I misspelled alias 😭
  • Deleting a todo list would not work (oops)
  • Toggling vote reminders would work but then wrongly assume you had it the other way
  • Command responses being blocked by auto mod is now handled
  • Some spelling mistakes in cards and around the bot have been fixed
    Other bugfixes since the last release:
  • Actions would just not work for a while (oops)
  • Being unable to create a todo list was fixed
  • Being unable to give loot boxes was fixed

📦 New features::

  • Added 46 new hug images while reducing the number of uncredited artwork from 12 to 10 (which included the new images) thanks to https://saucenao.com/index.php
  • Increased the resolution of a lot of exiting hug images
  • Added new topics, hug, slap, cuddle and poke texts
  • User Installs and Approximate Users are now part of stats growth. Approximate users is an approximate number of the number of people in all servers Killua is in, user installs is number of people installing Killua to their profile.

As always, internals have been improved significantly since the last release.

New Contributors

Full Changelog: v1.1.0...v.1.2.0

v1.1.0

19 Jul 21:30
2474eeb
Compare
Choose a tag to compare

Killua 1.1.0 (API rewrite to rust, sync -> async, dockerising)

Besides this being super cool, it also fixes a long, LONG issue with the API which would cause vote rewards to not function and the website to not display server count or commands. You can read the details about it in the associated issue #607

This PR, does a bunch of things. It fixes three long standing issues:

  1. The shop would stop updating after a while for seemingly no reason at random
  2. The API would stop responding after a day or two of being live without errors
  3. Sometimes the database times out. This caused the entire bot to be blocked for a bit before.

Here is a graphic to illustrate this:

setup-transition

🛠️ Beyond this, it improves internals a lot. Mainly:

  • The API is now written in Rust. This allows it to be insanely type safe for requests needing to match expected format and type. It is also of course much faster (It's rust after all).
  • The bot and all associated processes are now Dockerised. This means they are now insanely easy to deploy and migrate.
  • A lot of statics are now saved to prometheus. This then allows them to be displayed very nicely on a Grafana dashboard.
  • Most of the assets Killua uses (hugs, cards, loot boxes etc) are now served through the API instead of the Discord cdn
  • A proxy for zmq is now implemented between the bot and API. This allows A many to many communication between n bot processes and n API processes. This is not needed currently but already future proofs the code should the bot need multithreading.
  • A GitHub workflow has been set up to automatically run cargo test, clippy and fmt on pull requests that change API code.
  • A bunch of code has been cleaned up to be more readable including the on_interaction part of wyr and polls as well as classes.
  • All database actions now occur asynchronously instead of synchronously. So when one of them fails/times out the entire bot is not blocked. I should have used this from the start, it was painful to rewrite now. This looks something like this:
- user = User(user.id)
+ user = await User.new(user.id)
- user.add_jenny(10)
+ await user.add_jenny(10)

🐛 Bug fixes

  • Voting will now always give you a reward
  • Some slash command autocomplete would not work
  • The shop sometimes failed to update
  • Owning card 99 would not be displayed in your book in the restricted slots
  • todo create did not work if no custom ID was provided

📦 The following features have been added:

  • All image commands can now be applied to an image by replying to the message with the image with the command
  • The shop now says when it will update the next time
  • Image commands now also accept replied to messages as an argument. If you want to use a command on a specific image that is not the latest in chat, reply to it with the command.
  • If there is a tie playing trivia (both players get the right answer) the fastest answer is now the tiebreaker.

User installed commands

User installed commands got a big upgrade this version! The following are now available as user installed commands:

  • wyr
  • topic
  • calc
  • 8ball
  • img
  • All games commands
  • All action commands

Unlike last time where I just enabled them to be user installable, a lot of thought has now been put into them to make sure they work as expected ANYWHERE on Discord. You can now hug or play rps with a friend in dms! A fight breaks out in a group chat about a question? Just use 8ball to answer it!

Killua 1.1.0

Full Changelog: v0.12.2...v1.1.0

v1.0.6 alpha

18 May 00:32
Compare
Choose a tag to compare
v1.0.6 alpha Pre-release
Pre-release

📦 Additions

  • Two new hugs :)
  • A bunch of new topics!
  • Trivia now offers a "Play Again" option solo and against other people. This makes it much easier to keep competing with your friends instead of having to retype all options again
  • Added a proper shop inside Discord! You can buy loot boxes or a sub there. This is kinda untested but better than not implemented at all.
  • Added a shell script to clean the environment up between bot restarts
  • The cooldown response now gives you a discord timestamp for the cooldown and not just an integer

And a big one...

KILLUA NOW SUPPORTS USER INSTALLATION

This means you can decide to "install" Killua to your account. After doing this you will be able to use some of his command ANYWHERE (dms, servers he is not on, group chats). This includes context menus! Don't understand a word? Right click a message > Apps > "Google"! A language you don't understand? Right click > Apps > "translate"! Game and todo slash commands now also work anywhere. This is a super exciting feature and I am looking forward to people using it!!!

🔧 Changes

  • The shop changes are no longer logged
  • Made k!help much smarter. Doing k!help command/group now works much better where it did not at all before.
  • Internally some things have been cleaned up

🐛 Bug fixes

  • The hug badge had an issue of not being added
  • DuckDuckGo blocked us from image search... so I had to switch to Bing image searching
  • Over the past 6-8 months I have had issues with Killua API going down after just a day. This led the website and vote rewards to not work. I tried a lot of things to fix this. I have finally implemented what I believe to be a fix for this.
  • A number of bugs all around
  • Switched most images to imgur because permanent Discord cdns became unsupported.
  • The games leaderboard were only half sorted. This is fixed now.
  • The cooldown command failed to load the image because somehow the IP is banned from imgur (why are we banned from everything) so it is now set as an embed picture so Discord is the server requesting imgur.

These changes have been implemented over the past 6 months but since user installation support was added I felt like it warranted a release
Full Changelog: v1.0.5alpha...v1.0.6alpha

v1.0.5 alpha

07 Apr 00:20
7d6ca56
Compare
Choose a tag to compare
v1.0.5 alpha Pre-release
Pre-release

📦 Additions

  • Add topic parameter to trivia command to specify a topic to be asked about if desired
  • Add opponent and Jenny parameter to trivia command to be able to play trivia against other users
  • Add credit to most artists whose work is used in hug (thanks to Vivany's awesome work tracking down artists)
  • Add about 15 more hug images (Also thanks to Vivany!)

🔧 Changes

  • Change emote path into a proper image using a users pfp making it look much better (thanks to @DerUSBstick's contribution)
  • Some internal changes allowing for using the same multiplayer logic from rps for trivia
  • Make rps badge dynamic and tied to the achievement instead of static and saved to db

🐛 Bug fixes

  • Fix pretty severe issue that protects you from loosing any rewards when opening lootboxes (thank you to who pointed this issue out)
  • Remove invalid hug images
  • Fix lootbox shop having a wrong amount of max pages
  • Fix lootboxes with just one booster they can possibly contain error for boxinfo
  • Fix boosters received through vote rewards corrupting booster data
  • Fix rps badge being added incorrectly

What's Changed

Full Changelog: v1.0.4alpha...v1.0.5alpha

v1.0.4 alpha

31 Mar 15:56
Compare
Choose a tag to compare
v1.0.4 alpha Pre-release
Pre-release

The loot box update

This update was mainly concerned with the addition of boosters to loot boxes with which makes them more rewarding and engaging.

Additions 📦

  • Add "options" button to loot boxes instead of "save" which allows to use boosters or save
  • Add new loot box (box 11) only containing boosters
  • Add possibility of certain boosters to appear in most boxes
  • Add boosters to roadmap of voting
  • Add 3 boosters:
    1. Treasure map. This booster will show you the most valuable reward in a lootbox with an X
    2. Doubler. This booster doubles all hidden Jenny in the lootbox
    3. Bomb detector. Disables 50% of the bombs in the lootbox
  • Add k!boosterinfo command for more info about each booster
  • Add algorithms directory where more complex algorithms implemented are explained in detail
  • Add 3 new badges
    1. rps_master. Badge is awarded when wining against Killua 25 times
    2. pro_hugger. Awarded if hug was used on 1000 (not necessarily different) people
    3. pro_hugged. Awarded if you were hugged by at least 500 people

Changes 🔧

  • Now also showing what boosters you own in the k!inv command
  • The default embed colour of Killua was changed to something closer to the bot's pop
  • The embed colour of avatars is now the most prominent colour in the pfp
  • The embed colour of action commands is now the most prominent colour in the image
  • More topics where added
  • The active developer badge was added as an option for k!profile
  • Command usage is now not stored by command name but instead each command was assigned a unique ID which is now used. This will make it easier if command names are changed in the future
  • The bots dependencies were all updated which is reflected in requirements.txt

Bug fixes 🐛

(There were a lot)

  • The vote reminding messages was fixed numerous times to now include the site that was voted on and an accurate date of when the last vote happened.
  • Premium roles not being applied for a while after startup was fixed
  • Some things requiring empty buttons not working were fixed
  • Occasional error swallowing was fixed
  • Fix a lot of issues with the use command
  • Fixed bot's API having the potential of killing the bot
  • Fix not being able to buy cards in the shop
  • Fix counting high score not saving if high score is best possible score (I was just never that good in my testing, ok?)
  • Fix daily users being daily cumulative users and not resetting every day.
  • Fix k!stats growth images being broken for 2 out of 4 statistics

What's Changed

Full Changelog: v1.0.3alpha...v1.0.4alpha

v1.0.3 alpha

14 Feb 00:34
Compare
Choose a tag to compare
v1.0.3 alpha Pre-release
Pre-release

A small yet useful update

🐛 Bug fixes

  • k!novel stopped working so it was rewritten
  • Fixed help command unable to show how to use itself

📦 Additions

  • Added k!voteremind which allows you to toggle whether to receive reminders after voting or not. If toggled you will receive a reminder every 12h after voting once. This is site specific.
  • Added 24 new Killua hug images

🎛️ Changes

  • Changed how vote rewards are handled. Instead of a random loot box every 5 votes it now follows a set order of loot boxes to give as long as the streak is upheld.

v 1.0.2 alpha

19 Jan 13:13
Compare
Choose a tag to compare
v 1.0.2 alpha Pre-release
Pre-release

This update does not come with a lot of code changes but is massive for users using message commands which is why it warrants its own release. It also fixes a bug when you use uwufy with a context menu.

Message commands are not in groups anymore!!

(at least most of them)

For the message side of commands, the need to use a group name has been removed for the following group:

  • actions
  • cards
  • dev
  • economy
  • games
  • image
  • moderaton
  • misc
  • web
  • moderation

This means what was previously k!economy daily is now k!daily and what was k!action hug is not k!hug again!

With this I also noticed that options for slash commands do not work for message commands and make them unusable. So I fixed that. This affects a number of commands like k!stats (previously dev stats).

A few commands have been renamed due to naming overlaps when removing groups:

  • games stats -> gstats
  • games leaderboard -> gleaderboard or glb
  • web book -> novel

The help command has been updated to now show both how to use the command in messages and as a slash command. So if a command you used before suddenly does not respond, check the help menu!

I want to however note that you cannot really use arguments after the user argument for ban and kick which only limits you by not allowing you specify a reason for the ban and kick for the message command. I may fix this in the future.

I want to emphasise again, this update only affects message commands, slash commands remain unchanged.

v 1.0.1 alpha

23 Dec 19:16
e0777a3
Compare
Choose a tag to compare
v 1.0.1 alpha Pre-release
Pre-release

This release includes a number of bug fixes of the original v1.0 alpha release along with a reworked poll command.

Bug fixes 🐛:

  • Hypercorn being unable to start
  • /dev stats fixed
  • remove chunking guilds at startup to avoid being ratelimited
  • Not so much of a fix but /spin will now always be a box and not adjust to input image
  • Fix /avatar
  • /dev info fixed
  • /publish_update fix
  • Fix /boxinfo autocomplete
  • Hopefully fix /hunt end randomly erroring