Skip to content

Releases: 12beesinatrenchcoat/slabbot

rewrite plus

08 Aug 07:00
Compare
Choose a tag to compare
rewrite plus Pre-release
Pre-release

I don't feel like calling this "v1.0.0" because we're not there yet, but despite the minor version increment it's a big release because it's a complete rewrite — everything's now mostly written from scratch (some bits copied from iCrawl's yuudachi, hence the license change).

slabbot now also uses discord.js v14 alone (previously v12 + Akairo Framework). Something something futureproof-er.

Mostly has feature parity. Some stuff has been renamed, some stuff has been removed.

  • me is now /slabbot profile — conflicting with built-in slash command.
  • about has been moved to /slabbot about.
  • decide now uses a bajillion options.
  • the shutdown command is gone.
  • the help command is gone.
  • the commit hash in about is gone.
  • my name is now "12beesinatrenchcoat" instead of "AndyThePie".

And probably some other stuff I'm forgetting.

So yeah, maybe I'll actually come back to maintaining this. Maybe I'll just let slabbot remain dormant again for another year. Who knows.

…oh yeah, happy belated 2nd birthday, slabbot. You've changed my life. Thanks.

Full Changelog: https://github.com/12beesinatrenchcoat/slabbot/commits/v0.5.0-indev

slabbot-birthday-c

v0.4.2.2-indev

20 Jul 00:32
Compare
Choose a tag to compare
v0.4.2.2-indev Pre-release
Pre-release
  • fixed an issue relating to caching of osu! profiles (see #47).
  • fixed about not showing the correct version.

just an exp update

14 Jul 02:32
Compare
Choose a tag to compare
just an exp update Pre-release
Pre-release

fixed and modified the exp function a bit (things.functions.js). that's it.

(rereleased because on wrong commit)

probably breaking

06 Jul 17:17
Compare
Choose a tag to compare
probably breaking Pre-release
Pre-release

trying a different way of formatting this changelog, instead of just "additions" and "removals". so...

changes and improvements to me

for a quick overview, here's a picture.

sl me [user] example, "not a tsundere" uses command "sl me @magic girl !!"

  • ⚠️ no more "compact ver." and "full ver.", and a small redesign of the embed.
    • this is quite broken on mobile, but... uhh... sorry? (i might add a user setting to have one or the other, we'll see.)
    • merged "most used command" and "commands run".
    • added nickname ("also known as nickname")
  • you can now specify a user to see the stats of! sl me [user]
  • slabbot handles new users a bit better. (#23)
    • if a new user ran sl me, the bot would return nothing. now it returns a little welcome message and a mostly blank embed. it's better!
  • i expect to do quite a bit more to this in the next update... watch this space!

unorganized minor stuff

  • consistency in help - all fields now use square brackets.
  • roll embeds are now colored based on how high or low the roll was (compared to the maximum / minimum).
  • cooldown messages delete themselves once the cooldown expires. (#33)
  • the osu command now caches results for 180 seconds. (#43)
  • admin.js has been renamed to shutdown.js, and moved into an admin folder.
    • admin commands get their own category, and are not shown in the help menu.
  • removed "stack overflow" from "powered by" section in about.
    • it's not really "powered by" stack overflow, and i also don't use it as much anymore... thanks mdn <3
  • added --exact-match to the end of git describe, which should stop about from displaying v#.#-[commit hash] as its version.
  • the level up message is now orange.
  • cooldowns have been modified a bit, global default cooldown has been raised to 3000ms (up from 2000ms), but cooldowns for some other commands have been reduced.
    • help uses the default cooldown (down from 10000ms).
    • the cooldown for me has been lowered to 15000ms (down from 30000ms).
    • the rate limit for osu has been raised to 4/30000ms (up from 3/30000ms).

code stuff

  • ⚠️ now using xo code style. at least, with a few exceptions.
    • strings still use double quotes (unless you have to use them in the string).
    • comments don't have to be capitalized (too professional!)
      • todo comments don't return warnings, we have a github bot for that.
    • no radix needed in randInt() (i only use decimal numbers...)
  • slabbot can now properly start when an osu! api token is missing, and when it cannot connect to mongodb. (#36)
    • when an osu! api token is missing from config.json, the osu command will not be loaded.
    • when slabbot cannot connect to mongodb (on startup), the exp system (and the me command) will not be loaded.
      • command usage will also not be counted, and its related fields in about will be excluded.
  • functions in things.functions.js are no longer named
    • felt a tad redundant when they were called by their export names...
  • new method of handling command errors (things.commandError.js).
    • CommandError is now a class.
      • takes in an object with properties embedTitle, embedDescription, and messageText.
      • reply() method takes in a Message and placeholders (replace text in embedDescription, used in despacito.js).
      • consistent color and footer for all errors, should be a bit better.
      • replaces returnError function from v0.4.0.
    • i should probably name this something else, or just consolidate a single "things.js".
  • renamed commandinfo.json to commandInfo.json, and moved to root directory.
    • and also using require.main.require, because it's cleaner. although it's a bit broken in vscode. please see microsoft/TypeScript#19117.
  • console.log() messages are a whole lot more colorful.
  • more READMEs.
  • more code cleanup and comments, as always.
  • updated dependencies.
    • added renovate bot to help deal with them!

for a version bump that adds practically nothing on the user-end, this is probably the longest changelog so far. finishing up this update and typing these notes while in an airport, waiting for a flight that was delayed by nearly 7 hours was… an experience.

next update is proper game stuff, and a bunch of things that feel very long overdue. see ya then!

whoops

27 May 22:27
Compare
Choose a tag to compare
whoops Pre-release
Pre-release

🔥 a hotfix because i forgot about two files!

>_< fixes

  • sl decide is now in the "utilities" category. (as opposed to the "utilties" category)
  • sl dice has help info now.

that's it. that's literally it.

(if you want to see v0.4.0's changelog... click this...)

pro gamer move

27 May 21:19
Compare
Choose a tag to compare
pro gamer move Pre-release
Pre-release

“I'll probably end up abandoning this again for another month.”
- Me, 6 months ago

⚠️ DO NOT USE THIS RELEASE! (see https://github.com/AndyThePie/slabbot/releases/tag/v0.4.1-indev).

27 May 2021 / commit 065ef89

this version focused on some game stuff, i guess. it's been so long that i don't really even remember this... (>_<)

+ additions

  • get osu! user stats!
    • you can get a user's osu! stats with this command.
    • defaults to the user's default mode.
      • specific modes can also be specified (osu!taiko, osu!catch, osu!mania, or just osu!.)
    • w00t p00t :3
    • and just in case, no, i am not affiliated with the osu!team.
  • roll some dice!
    • because... why not?
  • fancier about command.
    • links now exist, the description's been changed, and there's also a version thing.
      • current uptime is also fancier.
  • slabbot has a website?
    • well, not really. it's just the README for now. watch this space, though...
  • decide command can now also be invoked with the alias choose.
  • shutdown command posts a message before it shuts down.

~ other changes

  • xp gain has been nerfed, and level thresholds are higher.
    • levels may have been lost as well, the exp/level calculation has also slightly changed.
    // const expNeededForLevel = level => 1024*(level**1.3)+(level/35)**4.5;
    const expNeededForLevel = level => 1024 * (level ** 1.3) + (256 *((level-1) / 8) ** 1.8);
    • exp per message is also lower.
      • 2.4exp at 6000ms, increasing to 9exp at 30000ms.
      • previously 5exp at 5000ms, increasing to 25exp at 60000ms.
      • see also: desmos graphs for the old exp/message graph and the new one.
  • a new things.functions.js for functions that do things that i'll probably use in multiple commands.
    • createExpBar has been moved here (from sl me command).
      • so has expNeededForLevel.
    • fNum formats numbers (adds commas and decimals).
    • sToDhms converts seconds to other units (used in sl about)
    • getLongMonth gets month name from a Date.
    • returnError standardizes error embeds, I guess.
      • not yet used everywhere else... yet.

i think...? that's all. it's been fun to write these and get back into code and all the sort. it's summer as well... oh boy...

next update will focus on refactors and code cleanups and documentation and all the sort. so... see you then! (^^)/

await, mongoose!

07 Nov 22:59
Compare
Choose a tag to compare
await, mongoose! Pre-release
Pre-release

The biggest update since... well, the last update.

+ additions

  • slabbot me is now a thing!
    • A basic exp system. Some exp per message.
      • You get exp for each message, with a cooldown of 5 seconds.
      • The amount of exp you get depends on the last time you sent a message.
    • Also tracking command usage. Stats are cool.
      • Oh yeah, and now a MongoDB instance is required. Defaults to connecting to mongodb://localhost:27017.
  • slabbot about is better.
    • Displays some stats (commands used, top commands)
    • Uses an embed now. Hopefully looks a bit nicer.
  • slabbot shutdown does what it says on the tin.
    • This is an owner only command - only runs if the user's ID is in config.json.

~ other changes

  • The cooldown message now displays cooldowns in seconds. (3642ms → 3.64s)
  • Some commands now have much longer cooldowns:
    • me has a rate limit of 2 uses / 30s
    • about has a rate limit of 1 use / 30s
  • More general code cleanup. Mostly removed some console.log() stuff.

It's been a long, long time since the last update, but... I think I'm starting to get the hang of some of this stuff. So... that's cool!
As always, never expect any updates, because I'll probably end up abandoning this again for another month. Or something like that.

Thank you for following development of slabbot!

spaghetti edition

30 Sep 11:27
9a77213
Compare
Choose a tag to compare
spaghetti edition Pre-release
Pre-release

introducing spaghetti edition: now with 5000% more spaghetti!

A lot of very minor back-end things. And also a new command. And more Despacito.
...I should have named this one "wait, it's all despacito?" huh...

+ additions +

  • Added 6 new videos to this is so sad play despacito.
    • I'd list them, but I'm very lazy.
    • Turns out that some videos don't have maxresdefault.jpg thumbnails (and so, Kiryu Coco - Despacito has no thumbnail). I'll fix it it later. I've fixed it by adding an override property for one thumbnail. If there's no maxresdefault.jpg, I'll use the hqdefault.jpg instead.
  • More errors! Attempting to send a NSFW video in a non-NSFW channel will return you an error, and so will choosing an out-of-bounds value.
  • Added decide command. Feed Give slabbot some things, separated by commas, and they'll choose a random one!
  • slabbot now has the prefix sl . (You can still use slabbot and mentions.)
  • More README.mds! and also hopefully slightly better.

- removals -

  • Removed dependencies sqlite and sequelize (and probably some more). I plan to use mongoose.
  • Removed slabbot-banner.png, replaced with slabbot-icon.png (in the README). It looked bad.

~ other changes ~

  • Fixed a typo + reworded a thing in commandinfo.json (used in the help command.)

> code stuff <

  • Now utilizing eslint. Because my code is bad.
  • Turns out that you can set default values for properties (e.g. constructor(a, b = true, c = 5);). That's used once in despacito.js.

Anyways, that's a second number increment. I feel like it's deserved. New command and some other things. Next release should hopefully add MongoDB or some other things.

wait, it's all despacito?

25 Sep 01:18
fea67a6
Compare
Choose a tag to compare
Pre-release

I'll just... copy the changelog here...

+ additions +

  • added "Despacitouhou" by Princess Sylvysprit to this is so sad play despacito.
  • added "Hentaicito" by DaymanIsOurSavior to this is so sad play despacito.
    • added nsfw property to videos in the array.
  • added cooldowns. default is 2000ms per command, this is so sad play despacito has a cooldown of 8000ms / 2 uses.
  • added the ability to choose a specific video from the this is so sad play despacito-list.
    • basically, typing a number after the command will return video with that position in the list. something like that.

~ other changes ~

  • changed the about text by like one word

> code stuff <

  • refactored despacito.js a bit
    • holy moly that was disgusting to look at. hopefully this verson will be slightly less bad.

that's... it. yadda yadda yadda past and future release changes will be found in the actual CHANGELOG.

this is so sad play despacito

10 Jul 02:57
Compare
Choose a tag to compare
Pre-release

slabbot attacks!

what's that? a wild slabbot appears!

another new discord bot. originally going to be a fork of despacitoBot; but I disliked the old codebase too much. so here's this. built from the ground up using the Akairo framework for discord.js.
the bot is far from done, but... i wanted to get something done. so... here's something.

+ additions +

  • the basic commands - ping / about.
    • ping can be executed using slabbot ping
    • about can be executed using slabbot about
  • this is so sad play despacito. stolen from despacitoBot, and then rewritten. gives a random despacito-related video using an embed.
    • executed using this is so sad play despacito (case insenstive) or slabbot despacito.

yeah, that's about it.

things to do:

  • create slabbot help - in case people need to know commands.
  • categorize commands, maybe
  • create some owner-related commands for rebooting / shutdown / reloading / etc
  • a website or something
  • sql stuff to track command usage

this (and all future updates) can also be found in the CHANGELOG.