Skip to content

Releases: Kile/Killua

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

v1.0 alpha

03 Nov 12:45
Compare
Choose a tag to compare
v1.0 alpha Pre-release
Pre-release

This release does not include a working testing feature, a way to test all commands, which is planned for the eventual final release. However except for bugs, there should not be any changes visible to the user from this to the final version.

What's new?

Additions

  • Added the following commands: wyr, dev stats, todo reorder, poll, games stats, games leaderboard, tag transfer. You will find more about them in the final release notes
  • Added tracking of guild count, user count, registered user count and daily user count to monitor growth by saving it daily
  • Added a description to every command
  • Added a description of every parameter of every command
  • Added sophisticated CLI to run tests, a dev instance, migrate the db or just run the bot
  • Added a testing system which automatically runs tests on most commands
  • Allowed all commands to be used as slash commands
  • Added support server welcome message
  • Stats for games are now saved
  • Added autocomplete/options for lots of arguments for slash commands
  • A "play again" button was added for the rock paper scissors command to easily continue playing

Changes

  • Turn lots of commands into groups due to the small amount of slash commands allowed per layer
  • Switch from ext-ipc to zeromq for better security and efficiency
  • README.md was updated to reflect the current state of development
  • All tag commands no longer require the server to be a premium server, however they have a 10 tag limit
  • Now supporting id or name for loot boxes and card arguments
  • k!hunt speed improved + auto selling of excess cards to prevent resource waste
  • Updating properties of a todo list was compressed into a single command: todo update
  • The help command now also displays the cooldown of a command along with wether it is premium or not. It also uses autocomplete for command specific info and has a link to the source code

Removed

  • The fb (feedback) command was removed due a lack of usage and bad code

v0.12.2

25 Mar 20:17
e84ae70
Compare
Choose a tag to compare

A relatively small nice update

TLDR;

Added opt out possibility with k!settings from action commands, improved internal file structure and a now custom written k!img command

Additions ➕

  • Added k!settings to opt out of action commands
  • Added a reward cache for the hunt command hopefully increasing its speed slightly

Changes 🎛

  • Rewrote the image command to bot use pxlapi anymore
  • Restructured the classes.py to be split up in some smaller files like enums.py or interactions.py

k!img data before


This command used up most pxlapi tokens

Image of the new k!settings command

Full Changelog: v0.12.1...v0.12.2

v0.12.1

12 Jan 19:41
Compare
Choose a tag to compare

Version 0.12.1 aka The cleanup after 0.12

TLDR;

The focus of this version was to leave no bugs and make every feature I want work. It has quite a few internal improvements but also adds some nice new features to the bot like k!smile, k!neko, k!wtf, k!blush and more, plus discordbotlist vote rewards.

Additions ➕

This version added the following things to Killua:

  • New action commands (smile, tail, neko, blush, dance)
  • New image manipulation command k!wtf putting a wtf meme below the provided image
  • Groundwork for seasonal cards and seasonal lootboxes with guaranteed cards
  • The option to run Killua in dev mode by adding --development or -d to the run command
  • run.sh, the file that is now used to run Killua which includes a small menu with shortcut commands
  • Certain stats are now collected daily to over time show nice metrics in a future command

Changes 🎛

  • Killua is now using own code to receive vote webhooks bound to a url for more security
  • The application.commands scope has been added to the invite link
  • Killua now uses an api instead of a library for the translate command
  • Every time related thing now uses discord timestamps to display dates/durations
  • A different api is used for action commands
  • Changing requirements.txt to only contain only required libraries

Bug fixes 🐛

  • Fixed an issue with k!av and k!profile where it would error on users without pfp
  • Fixed an issue with help command where it would resend the menu after a timeout in a sub menu
  • Fixed an issue where additional to vote rewards Killua would send a message with content: "Tip: k!"
  • Fixed an issue where there would be an unhandled error when using commands in dms with Killua when it didn't have permission to respond

v0.12.0

10 Sep 17:26
d3eb1e1
Compare
Choose a tag to compare

This is the first really stable version

The cards system

One of the biggest points was that the cards system is currently hacky, slow and hard to understand. The following has been changed:

  • k!cardinfo <card_id> gives you infos about a card you own
  • k!use has been rewritten entirely to be more reliable, clean and giving better error messages.
    1. if you provide wrong arguments for a card it will now exactly tell you what you need to provide for that specific card
    2. reused code has been optimised
    3. instead of having a lot of elif statements, each spell card is a subclass of the Card class and gets called when needed
    4. The defence UI has been improved
  • The book has been optimised to be as fast as possible by
    1. caching all cards on startup
    2. also caching the background
    3. having the card background be transparent
    4. improved positions of the cards
  • Having a full book now grants a badge and the card 0, those will be removed in case any of the 100 cards is removed
  • The User class is now being cached to minimise requests to the database
  • remove_card and add_card have been rewritten to in the User class to work not just hopefully
  • added k!check <card_id> which gives you additional info about how many copies you own of this card that are fake and where
  • Improved logic for discard by it first checking for fakes in the free slots to discard and then discards the first match

The todo system

  • the system has been tested and the bugs found were fixed
  • The TodoList class is now also being cached to minimise db requests
  • more appropriate errors have been added for commands like todo invite
  • most things not requiring text input have been rewritten to buttons

Shops

Shops have been redesigned. With the addition of LootBoxes it became necessary to differentiate shops clearer. Now the shop as well as the buy command requires an argument about what type of item is wanted.
shop <cards/lootboxes/todo
buy <card/todo/lootbox>
If no argument was provide for shop a UI pops up which allows the user to select what shop to go to

The help command

  • fixed that command groups were not shown before
  • the main menu uses fields instead of description now
  • it is now possible to return to the help command in a group menu by clicking on the "Menu" button

Premium

  • a dynamic check was implemented automatically updating patreons every 2 minutes by fetching the pattern api
  • Premium users can now add premium guilds. How many is determined by the premium rank
  • premium users can use weekly to gain a weekly lootbox

lootboxes

  • lootboxes can be bought in the lootbox shop and are also earned every 5th time someone votes for Killua or with k!weekly by premium users
  • you can open a lootbox with k!open
  • opening lootboxes allows you to choose fields from a 5x5 square which can contain rewards. To save rewards you can click "Save rewards" because when you click on a button with a bomb behind it, all rewards are lost!
  • you can get chances of lootboxes and info about them with k!boxinfo <box_id>

Games

  • games now have their own category and file
  • two more games were added
    1. k!count a counting where where you need to remember numbers in the right order
    2. k!trivia gives random trivia questions and Jenny as reward
  • the rps code was once again optimised and now uses buttons and selects

New responses

hug: +6
pat: +6
slap: +4
tickle: +6
poke: +7
topics: +105
8ball: +8

Other improvements

  • new commands ajit and flash were added as pxlapi added those as endpoints
  • added spin which spins an image in a circle you give to it
  • the paginator was improved several times now also supporting subclassing
  • there was a file added called setup.py which makes it easier for contributors to set up the database
  • avatars being a horrible quality has been fixed
  • k!novel has been optimised
  • a helper function was added which sends random tips with a 5% chance on specific commands

Bug fixes

  • fixed an issue where two command groups were not displayed in the help command
  • fixed all possible @ everyone exploits
  • fixed todo lists being broken at multiple places
  • fixed random failures when trying to remove/add cards
  • avatars being very bad quality in all commands that used them
  • not being able to view older updates with update
  • the usage command not taking command groups into consideration

If anyone is wondering on the net effect of caching classes, this shows the amount of requests to the database before and after the update (which was pulled at 5 pm)
image