Releases: MusicMakerOwO/MicroBase
Micro Base v12
π New Features
- Task Scheduler util (details below)
- Component response caching
- Auto defer component replies
- Pre-load timing log
π§ Bug Fixes
- If you throw a non-error object the InteractionHandler dies lmao
- Removed unused event blacklist in EventLoader
- Presets and HotReload now use absolute paths
- Fixed pathing issues in rare circumstances
- Fixed off-by-1 error in event counting
- HotReload gets confused when you delete files lol
- Presets would try to read a folder as if a folder
- Adding/Changing aliases now registers commands
π Other Changes
- Small optimization to Presets to not read file contents
- Demo /help command to showcase component caching in a practical way
Task Scheduling 101
You ever have a bunch of intervals and loop running throughout your program? And then you want to stop them all and forget something? No? Just me? ._.
Well the new TaskScheduler helps to fix that! You can set loops, delays, and manage them all in one spot, making it easy to stop everything in go.
const Task = require('./Utils/TaskScheduler'); // singleton instance
function LoopingFunction() {
console.log('Hello, World!');
}
Task.schedule(LoopingFunction, 1000 * 5, 1000 * 30); // wait 5 seconds then run every 30 seconds
// you can also break past the 24 day limit on setInterval
// Max of 300,000 years, I think that will be plenty long enough for you lmao
Task.schedule(LoopingFunction, Number.MAX_VALUE)
// Wait 10 seconds, only run once
Task.schedule(LoopingFunction, 1000 * 10, null);
// Stop all loops at once
Task.destroy()
Micro Base v11.2
Fixed hot reload to not register commands as often, reduces chance of rate limits
Micro Base v11.1
File presets no longer delete file contents if you rename a file or copy-paste a file from elsewhere
Micro Base v11
π Added Features
- File presets (see below)
- FileWatcher now replaced with a new system
- Rewrote HotReload 100 lines shorter lol
- RegisterCommands is now fully dynamic
- ComponentLoader now decentralized, you can now rename folders as you wish
π Removed Features (oh boy...)
- Sharding (details on that soon)
- TypeScript support did more harm than good
- Package checking, manage your own damn stuff lol
- Closest Match had no purpose
- Console Prompts no longer needed
- Interaction overrides again did more harm than good
- Collector support completely removed, DJS makes it impossible to mix with handlers
π§ Big Fixes
- ReadFolder would try to require() files even if not JS
- ComponentLoader sometimes errors if require() fails
- Discord deprecated the dm_permissions
on commands, updated command registration to reflect this
- Prefix Handler was not hooked up to the same error system with commands
- Removed unused client caches in index (fileErrors, responseCache, activeCollectors)
- Utilities will now report that they are disabled
π Other Changes
- Fixed capitalisation on various files/folders
- Updated LICENSE for 2025 π₯
- Documentation updates as you can expect lol
- Downgraded DiscordJS to 14.16 because they removed ephemeral responses π€‘
Micro Base v10
God damn this was a massive update...
Rewrote everything, documented everything, and rethought how modules work
Added Features
- Typescript, lets fucking goooo!!!
- Fancy errors with snippets
- owner
component restriction
- Rewrote utils/CheckPackages
to be more flexible + efficient
- Config can now disable entire parts of the base (see documentation)
Other Features
- Performance optimisation to CRC32 to pre-generate the tables
- Renamed clientPerms
to botPerms
in restrictions
- Error handling more efficient dynamic
- Refactored utils/CheckIntents
for simpler logic
As always, latest edits and patches are on GItHub
Let me know if I forgot anything ππ