A silly little Discord bot to transform your mates, and have some fun. Also works for plural peeps.
Laura
Check their project out: Wilderlands
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
This chunk of code that you see down here might not seem like much, but it's HUGE. Since the start of the bot, there's been an unsolvable bug, #16, haunting me forever. We couldn't transform people using the alternative method if we were transformed ourselves. Well, turns out, the best solution is often the simplest, and, after over half a year of that pesky middle finger of a TODO, I finally was able to say I fully fixed it, with something so simple it sounds stupid...
I also fixed a few more bugs that were bugging me down and I'm eating through TODOs (and adding a lot more too :D)
This project is going so good I swear! :3
I have fixed some more issues, with all of the code. Also added a limit to how many users we can have in a server to execute the wipe command, so that we don't find any issues later. Also reworked the transformation function so that it's slightly faster, and the logic graph slightly prettier :3
After a bit more work, I've started to work on the TSF standard a bit more, since it's still very unrefined. v1.1 isn't too heavy on changes, but that's the idea. I don't wanna throw caution to the wind and end up with a hot mess, so I'm just giving it small touches one at a time. I've also taken my time to fix one or two issues I found around whilst testing.
Welp, I have decided to update both the web as well as the bot. Mainly, I've improved how we handle URLs. Now we accept more cases and handle them properly, using some ReGex and some basic extra checks.
I have been hard at work documenting and fixing some functions around (only one function ngl, I still have a lot of work to do). I want to make this version a major revision of the code, that documents everything and also takes a bit of effort to make my code and storage soutions more efficient. Lets see how it goes... :3
I have been hard at work refactoring some code around! I want the page to be as light as it can without losing too much adaptability, modularity, or readability, and I think I've done a pretty good job. I've compressed the CSS pretty well, and made the JS not only slightly smaller but also better, by handling error codes in a proper, user-readable manner. I also added the GitHub badges to the footer of the main page so that people might feel more inclined to leave a start and/or check the source code. I don't think I'll do too much else today, but tomorrow I might start implementing a least a precursor to the TF Roulette! :D
Welp, I've been cleaning up the mess I left on my messy development cycles. I just have to do a bit more of this before starting to iterate again...
I finally finished the webstie! :D It is now linked as the demo link (http://www.transformate.live), and I think I'm ready for my second ship already! Let's go!
Welp, I'm testing v2 of the bot. I have bought a domain and put he docs there already. Now I am testing the API o see if it's fit o be on the same domain and afterwards I will make the website work on the domain. So fun :D
OK, improved the API, added a few endpoints, documented everything with examples... It's going great! :D Time to test the domain xd
OK, the website now supports uploading files for editing, or just to check their contents if you really want tbh. Now, lets improve the UI a bit and get the API in a better state...
Added a lot of cool stuff. New API interactions, improved backend and fronend, improved performance on both... The bot is shaping really great and we're halfway there to the v2 release, I'm so excited!!! :D
I still have to add a few features, but I have made the page way better to use on mobile devices! It's going so good :D
Welp, I've been hard at work optimizing and cleaning up the code even further. Everything is looking good so far. Before releasing the web page I want to try and add a few more things though...
Finished the dark mode, upgraded the look of the webpage, and optimized the underlying code a lot. Now I'm working on making the bot more efficient, faster, and the code more abstract. This will allow us to do a lot of fun things! >:D
I have optimized the code further, and am working on a dark mode. his is going well. Now, to bed, tomorrow will be another day... :D
Welp, I've been hard at work, and I'm almost done with the TSF Data Editor, just have to do a bit more, like add censors and an output field, but it's looking good so far :D
The website now works as expected with the new API implementation, now, lets make the TSF file editor...
I have decided to move the API to work with Discord instead of our own login system. This both simplifies the API, as well as making it more secure. The work required was grueling though :<
The web page is shaping so good, we already have a login page that works with the API, looks not ugly, and even an account page. Now, I can't yet allow users to modify their data, since I need to make an API endpoint for that... Lets get working! :D
Ok so I stared work on the web. Not looking too pretty yet, but the login does work and does grant us an API token to use so...
And with that, the documentation is done! I think I'll wait until I fix some bugs before shipping. Let's see how it goes...
I have spent way more time than I'm willing to admit, redoing the Terms of Service and the Privacy Policy so that they would look good, and also modified them to be more aligned with the goals of the project.
I have finally documented the commands... Only the transformation ones though :') I have also documented the save file format, as you can see, and added some extra information and corrected typos. My hands hurt :D
After finishing the twinning/merging tutorial, I have written the /transform command documentation. I have decided to do a small simplified logic diagram for every command so the internal logic is easier to understand for people, and an expected behaviour can easily be traced. I'm so loving MaterialDocs. :3
Welp, and that's the basic tutorial done... Now lets do the twinning/merging tutorial, and then command documentation... Let's go...
Welp, I've been doing great. Got almost half of the basic introduction finished. The release of the docs is getting near!
Welp, I have finished making the command group indices. Now I'll get with the basic tutorials...
Turns out, properly documenting a project as big as TransforMate takes a good while... I haven't finished even a 20%... :(
Welp, after researching, setting up, and doing some basic work, the docs are shaping up pretty well. There's still a lot of work needed, but I thought I'd do a devlog to register that I'm not just accumulating hours without doing anything. There's a lot of stuff going on for these docs, so they're easy to read, understand, and modify. And also pretty. Anyways, back to work now...
Some bugs fixed, and code cleant up, nice. Let's now make some proper docs for all of the bot, and then on to the web interface...
Welp, after a good while and amount of work, I have finally properly documented the API, as well as created some new checks for blocked users and optimized some stuffs internally. This basic API is ready for release, now I just have o make a proper good-looking web for it...
I have finally finished the API infrastructure, now I can start working on the documentation, and then the web interface :D
Welp, and that's API-driven transformation done... Now for the modifiers, and the basic API will be done...
I've been hard a work implementing the transformation function in the API... It's still only half done, but it's shaping well, let's see how it turns out...
I have given the API a few further improvements, as well as fixed some issues with the copying function. The bot is shaping up really well for the 1.6 update... :3
I have now made the program more secure by moving the secret key to the .env, and turning the fake user database into a (still fake) JSON file that contains the user database.
I have also made it so you HAVE to login to use the API, and added a few security features more.
Welp, I've been working hard on implementing the basics of an API. For now I've basically modified the FastAPI tutorial to fit my needs. Now I need a way for users to create an account to access different API functionality, and also to set up scopes...