Releases: Godson777/KekBot
KekBot 1.6.1: "The start of something new"
+Some minigames got a buff with rewards.
Snail Race: For every minute the game continues to play, a .1x multiplier will be added. (A 3 minute game would have a 1.3x multiplier for its topkek reward.)
In the event a tie occurs (a game with 4 or less people all reaching the finish line, usually with 2 people reaching the last winnable place at the same time), the topkek reward payout will be a random number between 6 and 8 instead of between 1 and 3. Ending in a tie is a rare event, and should be treated as such.
Hangman: Rewards buffed. Topkek reward is now a random number between 7 and 15, instead of between 0 and 5. KXP reward is now a random number between 4 and 8, instead of between 0 and 4.
Russian Roulette: Topkek and KXP reward was doubled. The reward still varies depending on the amount of people playing, though. (A 5 person game would've net you 5 topkeks/kxp, now nets you 10 topkeks/kxp)
For every X rounds the game is still going, a multiplier will be added. .2x for games with 5 or fewer players, .4x for games with 6 or more players. (The amount of rounds is based on the amount of people playing. A 5 person game would need to last 5 rounds before the multiplier is applied. So, a 5 player game lasting 10 rounds would end with a multiplier of 1.4x.)
The game now also shuffles the active players every round, instead of once at the start of the game. This adds more randomness to who's going to get shot or not.
+Editing the list of roles accessible with getrole has been made slightly easier. Instead of adding one role per usage of settings, you can now list multiple roles (separated by |). KekBot will dynamically check if a listed role is in the list or not, and properly remove and add the roles as needed. This is mostly aimed for advanced users. You can still add roles the same way as you were able to before.
+Fixed a bug where pinging KekBot wouldn't serve as a substitute prefix.
+Fixed a bug where you could bet a negative number in minigames. (How did this bug go unfound for so long?)
KekBot 1.6: "The start of something new"
Wait, the last update was on July 25th? Of 2019??
Well shit, I guess it has been a while. Let's change that. 2020? Here we come.
Before we start with the changelog, I wanna mention that this is simply the start to a series of updates I plan to roll out as we go. This series of updates will slowly shift KekBot away from being solely focused on being multi-purposed with heavy influence on memes. Instead, I intend to take KekBot in a different direction. This doesn't mean I'm gonna start removing features, far from it. If anything, older features in KekBot will slowly be tackled and will get small edits here and there if any are needed, However, certain categories of commands will get less attention in new features compared to others. Moderation being the biggest example of such. Existing moderation commands will remain (and have small edits if any are needed), but will not gain any new features.
"So, what direction are you taking KekBot in then?" You're probably asking.
KekBot will always have a focus on memes, however, instead of being multi-purpose, KekBot will now focus towards being an aid towards Twitch/Youtube channels. Not quite like bots such as "Now Live", but it'll be similar. Especially in its own little "KekBot way".
That being said, the "Twitch/Youtube" features are still in development, and this update needed to be pushed out as soon as possible due to a bunch of outdated tools/library becoming even more outdated by the second.
SO! Let's get to the changelog!
+Updated to JDA 4.
+Quote list and help's pages now wrap.
+tag went through some changes. Adding tags requires Manage Messages, repurposing tags as a tool for moderation. The required permission for removing tags downgraded from Administrator to Manage Messages as well. Editing tags also requires Manage Messages. Previously, KekBot would also check if the user removing or editing a tag was the creator of the tag, or someone with Administrator, this was removed entirely since only those with Manage Messages can manipulate tags anyway.
+Willing to test your luck? There's a new Russian Roulette game! You can find it in the game command.
+Updated Discoin support (now Austin can finally get off my back)
-TweetFinisher has been removed now that Discord does the same thing natively. Of course, It will no longer appear in settings.
-credits commands removed. (It'll soon be ported over to KekBot's readme.md file here on Github!)
KekBot 1.5.6: "This shit looks broken."
+Potentially fixed some bugs regarding garbage collection away taking items that KekBot would store in cache/memory.
+Fixed a bug where forcibly disconnecting the bot wouldn't close the music session, thus putting it in a glitched state where it's playing music, but isn't connected to a VC.
+Assuming a bug was fixed that would cause fatal crashes. Assuming.
KekBot 1.5.5: "Y'all thought I was dead didn't you"
Heyo everyone! Yes, I'm still alive, however I don't work on KekBot nearly as much as I used to. Lots of IRL stuff happened and a new project I'm working on has taken higher priority than KekBot. I'm more than sure I've already said this before so I'm not gonna bother repeating myself.
Here are the changes:
+Updated a handful of a dependencies because I'm a lazy shit and hadn't done so in a long-ass time.
+doorkick now has a proper description it was supposed to have...
+Updated the description for magik.
+New meme commands! brave, doggo, garage, licky, notallowed, technology, torture, and urgent. Try them out!
+Help command now gives command information in plain text if embed perms are disabled. This does not apply to listing commands. Not yet, anyway.
That's all for now, there are some other changes planned, but I felt I'd just roll this version out to help keep the bot not dead, y'know?
KekBot 1.5.4: "20% Memeier...?"
I got bored. I needed something to do. I got productive, and now we all benefit from it. My boredom was ended, and you guys have an update, it's a win/win!
+Small edits/fixes to things like $help and $kaede.
+New meme commands! $www, $trashwaifu, and $doorkick! Check them out with $help <command>!
KekBot 1.5.3: "Now with Tweet Finisher!"
Alrighty guys! I'm back with another update! Of course I'm still taking a break from KekBot, but as I said before, I'd be working on minor updates every now and then.
This is one of those times.
So, what're the changes this time, you ask?
+Fixed a bug with $role spewing an error for no reason.
+New $spoiler command! Now you can annoy all your friends with cancerous spoiler abuse!
+New Tweet Finish feature! Now whenever you send a link to a tweet with multiple images, KekBot will send the remaining images that Discord doesn't embed! (You can find this feature in the $settings command.)
+Rewrote some code to be easier to handle for me personally. (This means nothing to the end user, but I felt the need to add this in anyway.)
KekBot 1.5.2: "Hey look! It's not dead!"
I'm taking a break from KekBot for a little while. While you shouldn't expect major updates anytime soon, pushing out minor updates (like bug fixes and the occasional new command) will be a lot easier to push out. So you CAN expect those. Why's that? Read below:
-KekBot can now restart automatically, gone are the days of waiting for Godson to fix KekBot! (We hope.)
-In addition, KekBot can also now search for updates, download them on the fly, and reboot, all automatically! This saves time in the updating process, as all that will needed to be worried about is simply coding the updating, and posting to GitHub.
-Fixed a bug where KekBot would error out if it attempted to play music in a voice channel it doesn't have permission to join. (Shoutouts to @Not jon#2875 for finding the bug!)
-Fixed ud after all this time. Yes I'm aware it took me forever, shut up >:C
-Fixed some bugs regarding the playlist editor that would leave the bot in a state where it ignored any of your commands in the channel the playlist editor ran on.
-Fixed a bug where the language menu didn't remove the reactions from the message when completed.
-dsxsays command, requested by some friends who winded up being the first people to add KekBot onto their server.
-settings command now actually times out if user doesn't respond in 1 minute. (Like it was SUPPOSED to)
-Fixed a bug where attempting to use attachments actually creates a tag when the message is empty.
-Fixed the text centering logic in image based commands such as kaede.
-Temporarily removed the voting bonus on daily. Will be rewritten in a later update.
-Fixed a localization bug with the lottery when attempting to buy tickets without enough funds.
-Fixed a bug with credits.
-Fixed several bugs regarding the music player.
-ud can now only be called in NSFW channels. This is to prevent being hounded by the nice folks over on the Discord Team. Don't blame us, don't blame them. Blame Urban Dictionary for having so many damn NSFW things.
KekBot 1.5.1: "MAXIMUM WEEB"
Whoo! Alright, small update, nothing too exciting to talk about in this changelog, so we're just gonna go straight to the changes!
-New "Takeover" system implemented, now viruses more memes can infect nearly the entire bot easily! ...Wait, that's not supposed to be a good thing...
-New Trivia minigame!
-Strawpoll command was fixed. No thanks to them changing their API with 0 announcement...
-Fixed a bug in profile that prevented certain users from equipping a background or token. (If they never equipped one of either.)
-A ton of commands were added! kirb, youtried, and a whole new category of weeb commands (27 of them to be exact)!
-Fixed a bug where decimals weren't rounding properly when topkek transactions were made.
-Fixed a few role checking bugs within role, and getrole.
-rip command was temporarily removed, due to the site the command was based on having been removed.
-Huh? Some kind of virus infected KekBot, forcing it to reboot the universe! Damn. I wonder if I can restore it back to default settings... Oh. Shit. I think I just merged the universes. Uh... --reboot?
-help command got a huge redesign! Gone are the days of getting a DM and a complicated system of trying to get the next fucking page! (Because I know there are a bunch of you who can't read can't seem to figure out how to load other pages.
-Music player got some tiny edits. queue can now be aliased with q, and searchyt can be aliased with syt. music queue searchyt can now be shortened down to m q syt for ultimate fasthand.
-You can now earn double the rewards in daily! KekBot will tell you how when you run the command.
-Fixed a bug where emojify would throw a traceback if the message it attempted to send was over 2k characters. (Shoutouts to MrStrawberries#6335 on Discord for finding the bug!)
-Changed the way KekBot lists the name of a song when queued. This also fixes a bug where the bot would be able to ping @everyone and @here if it was in the title. (Shoutouts to The Vineshroom Inside Your Head#8253 and tech_hutch#1687 on Discord for finding the bug!)
-Fixed a bug where myplaylist errors out when the user attempts to add a whole playlist's tracks to their playlist. (Shoutouts to Not jon#2875 on Discord for finding this bug!)
-Fixed a bug where profile edit background throws an error if you don't have a background set. (Shoutouts to Doctor Dizzyspinner#5732 on Discord for finding this bug!)
-Fixed a bug where the Discoin conversion area showed the wrong link if the user wasn't verified.
-Fixed a bug where the bot wouldn't check if it had the Manage Roles permission before doing anything in getrole. (Shoutouts to jetzel#5038 on Discord for finding this bug!)
KekBot 1.5: "The Rebirth Update" (Or, "Didn't we do this before?".)
^ Click this video before we continue. ^
WHEWWWWWWWW this took a while, didn't it? Believe it or not, this update went through three different beta phases before we got to where it is now. And I'd like to thank my new beta tester team for helping me find some bugs that KekBot had during development so I could squash them before everyone else got on my case and be like "OMG THE BOT IS BROKEN AFFFFFFFFF". They also suggested/pitched some ideas that snuck their way into this update.
However, I have been getting some extra support over on Patreon, which allowed me to get the video you saw above. If this support continues, I plan on making more content that extends outside even Discord (but will still be KekBot related in some form.)
With this update, I intend to start over. This update is what I feel that KekBot should have been, had I known back then how to program as well as I do now. Though it's also not enough to warrant being called "KekBot 2.0". Nor do I think there could be anything massive enough to warrant an update being called "KekBot 2.0". But we'll see.
Now, if you want to stay up to date on stuff regarding KekBot (which I know you don't), you can follow me (and KekBot) through social media.
My Twitter
KekBot's Twitter
KekBot's Youtube
And if you want to help fund KekBot and allow me to have fun with this bot, please consider checking out KekBot's patreon (linked above). This is the last time I'll mention patreon here in the changelogs so don't worry about seeing this in every update.
TL;DR: Stuff. Social Media. Support KekBot plons thank.
Alright, now that we got everything out of the way, you're probably more concerned with all the new stuff that KekBot got with this update:
+New command framework. (This means nothing to the end user. However this improves efficiency in both operation and in code.)
+KekBot now uses rethinkdb for server specific settings, profiles, etc... (Also means nothing to the end user, just makes things hella more nicer for me <3)
+The poll, strawpoll, google, and lmgtfy commands were moved over to the general category. I really don't think those commands were very "fun", were they?
+All music commands were compiled into one music command, with all the functions of the original commands being built into an all-in-one solution. (For example, $queue <link> becomes $music queue <link>, etc...)
+Some commands (like quotes and tags) take advantage of questionnaires, if no arguments are provided (or an argument is missing), a questionnaire will appear, allowing the user to complete the command without having to retype everything.
+Some commands have been completely redesigned. (Like $ud or example.) I think you'll like these new improvements.
+Separated the list of Patreon supporters to their own message, to find them, call $credits patreon.
+Rewrote the addrole and removerole command to a single role command.
+Errors that prevent KekBot from functioning are now thrown in chat, if a command fails, expect to see a traceback.txt file thrown at you. Report those to us with the ticket command.
+Questionnaires now have a timeout, if you take too long to answer, it will automatically cancel itself.
+Tickets have been rewritten entirely, allowing users to reply to their tickets, and view them.
+NEW MEME COMMANDS AFTER SO LONG! I won't list them, you can find them yourself. The help command exists for a reason, after all...
+KekBot's music player now behaves differently when you leave it alone, or move it to another channel.
+Music player now allows including an optional number variable to skip (to skip X number of tracks without spamming the skip command), and a skipto that works similarly as skipping X tracks, though it will skip to a certain track, making it more useful on...say... repeat mode?
+Fixed a bug where attempting to kick or ban a user didn't properly work if they, or the user calling the command, didn't actually have a role.
+purge can now be aliased with prune and clear
+The infamous "I can't meme while music's playing" message appearing when there actually wasn't music playing has finally been fixed.
+Fixed a bug where the bot would allow you to set a prefix starting with a space, which then causes problems with Discord itself, as it deletes the initial space.
+Fixed a bug where a game of Snail Race would persist after the user leaves and the game has abruptly ended. (Credits to @Not jon#2875 for finding this bug.)
+You can now call bal <@user> to check a user's balance.
+You can now pay users with the magic of decimals. If that's somehow your thing.
+Music player now allows you to remove tracks from the queue. (Admin and Host only ability.)
+Music Player now allows you to queue tracks as an attachment.
+Twitter functionality implemented. (You can check it out with the link above, it's been having fun while it was in beta.) Bot waits exactly 1 hour upon bootup before sending a message generated with a markov chain to Twitter every 30 minutes.
+ping command. Does what you'd expect.
+settings command, the one-stop shop for editing all server specific settings.
+getrole command, allows users to assign roles to themselves from a list of assignable roles (if any exist), roles can be added with the settings command.
+Raised the prefix length limit from 2 to 5. Finally, now I can make the prefix !kek!. (why would you do this)
+KekBot now has an Anti-Ad system! Turn it on/off with the settings command.
+Setting the bot's prefix no longer requires you to be the server owner, but instead require the Administrator permission.
+Using the vote command on an ongoing poll now does something to let you know it worked.
+Added lean finally. (Fuck you Michael, the meme's fucking dead).
+Added slap, hug, and kiss commands. Really straightforward.
+Hangman and Profiles should offset centered text properly if the bot's running on Linux. (which it usually is (piece of shit))
+Replaced slot command with daily, more streamlined way of earning topkeks without relying on completely bullshit RNG. (Even though completely bullshit RNG is still involved and there's a 1 in 20 chance you can get 0 topkeks.)
+Fixed a bug where cancelling/stopping a poll early glitches the command and prevents you from making a new one. (Credits to @Not jon#2875 on Discord once again for finding the bug.)
+3 new tokens and 3 new backgrounds!
+One hidden command was added, with a few more to come in future updates. Think you can find them? ;)
-Removed the say command.
-Removed the bots command.
-Removed the triggered command.
-Removed the salt command.
-Accidentally removed the shrug command.
KekBot 1.4.2: "The Fun Update" (Second Half)
WHEW IT'S ANOTHER LONG CHANGELOG. LET'S SKIP ALL THE BULLCRAP AND JUST GET ROIIIIIIIGHT INTO THE CHANGES! (I'm sorry please don't hate me.)
+5 new tokens and 6 new backgrounds!
+Games can now have a minimum amount of players needed to play. This is mostly used in games like Hangman and Snail Race, where there is no AI to play with (unlike Tic-Tac-Toe).
+Games also now have rules, these rules detail how to play their respective games.
+Snail Race (#23) and Hangman (#28) added as new games. Yay!
+Lottery. Enough said, right? ($lottery for those who are asking.) (#25)
+Slot Machine! (#24) Now you can test your luck and see if you can gain some topkeks! (Note: You can only bet between 25 and 200 topkeks when using the slot machine.)
+Users can bet on minigames as spectators, while users who are playing the minigame can also bet on themselves. ($game bet <amount>) Keep in mind that betting as a spectator and as a player are not the same. Betting as a spectator takes your topkeks, and if you win the bet, you earn x1.35 the topkeks you bet. While betting as a player simply puts your bet into a pot, the winner of the game takes whatever is in the pot, even if they never participated in the bet. (#22)
+Some aspects of the music player have been redesigned. (And it doesn't ping you anymore!)
+Music player can shuffle tracks now! (No more repetitive playlists, now you can just shuffle and mix things up!)
+Players can now quit games before and after they're started. However, quitting a game after it has been started can have serious consequences.
+Players can now also cancel a game lobby before it's started, opening the channel to play a different game (or nothing at all).
+The text in images generated with the byemom command now have anti-aliasing, as well as some other pieces of text in images. (Now you all can stop complaining to me about it not being anti-aliased. Finally, peace and quiet...)
+Discoin support! $shop convert to access it! (What is Discoin? It basically allows you to convert currency from one bot to another. Have currency in DiscordTel that you don't need, but need topkeks for that awesome background you've been saving for? You can convert from and to any bot supported by Discoin. For more information, check out their official Discord server.)
+Fixed a bug where the background shop wasn't showing the correct IDs on any page that wasn't page 1.
+Fixed a bug where deleting a channel where a game was held would cause the game to stay in memory. (Because, people are crazy enough to do things like that?) Keep in mind that this bug was practically invisible to all users, however this bug was staring me right in the face when I found it, and was driving me insane knowing it was there. Now I can keep my sanity, and that's always a good thing, right?
+Fixed a bug where a game would never end itself if one of the players had left the server entirely. (Because this happened once and people started swarming my DMs after they found it.)
+Fixed a bug that semi-breaks the music player when you try to stop a music session while queuing a user-built playlist.
+Fixed a bug where anyone could toggle repeat with the music player. (Why had I not noticed this sooner?)
+Swapped out KekBot's EventWaiter with the EventWaiter found in JDA-Ultilities, as both versions were made by the same person. (No, I didn't steal his code. I had permission to have a copy of it inside of KekBot.) This means I'm no longer using borrowed code for Questionnaire objects, instead I am relying on a public library containing the same, if not updated code for this. This change is internal, therefore it does not make a difference to a regular user, and does not change how Questionnaire objects work. However, plans are being made to redesign them to make them more efficient, and less "hacky".
+FINALLY fixed a dumb bug where typing "help" didn't always work, due to it being case sensitive. Now you can shout "HELP" at KekBot if you wanted to. (No, not with your mic, with your keyboard. No! Don't shout at your keyboard!)
+Ficksed a miss spell in the $bots comand discripshon. :3
+KekBot now prevents tags from being named key words used to navigate the command. (Credits to Stefradjen#8308 bringing this to my attention.)
+KekBot can now give you the prefix even if it has a nickname when you @tag it.
+Game lobbies are created with create, not createlobby anymore.
-Suggest and suggestions commands removed from KekBot's Chamber, no one knew what it was or how to use it anymore, not to mention the fact that it's practically obsolete. (However, for the staff who're probably reading this, the addResponse command still exists, however it'll be ported to a standalone command in the next major update.)
Annnnd that's it. That's it? Yeah, that should be it. Okay. Cool.
(Also don't forget patreon at https://www.patreon.com/KekBot k thanks <3)
