text chat - utility library for working with TextChatService and its annoying quirks in behavior
retryer - a nice easy to use library for retrying functions
pagesutil - roblox pages utility, with an easy to use iterator function for pages instances
safe teleport - a typed version of roblox’s safe teleport function from the TeleportService docs
grouper - a module for getting accurate group ranks for players on the server, and detecting rank changes
character - a simple utility module for getting more accurate character types with character added and character removing
If you have any questions, feel free to throw a message in this thread. Or alternatively join the roblox open source community discord and find the luauberries thread in the projects channel!
linked list - a luau doubly-linked list implementation
character - This is replacing safe_character_added, as a general use for getting better types with CharacterAdded and CharacterRemoving. Just replace uses of safe_character_added with character.added()
Changes:
ratelimit - simplified api, with merging keyed and keyless ratelimits into one unified ratelimit object
playerzone - Fixed issue of PlayerRemoving becoming connected to each time a player joins, and improved character types.
retryer - Added example in README for the infinite retry functions
Addded @checked annotations to every module where necessary
Not going to be publishing a release yet, as I’m holding off until I finish adding docs for every library and get done with adding tests for librarys that can have tests run in lune
Tests Added
Leventine
Ratelimit
Race
Url
Is-Empty
Changes
Updated ratelimit to not have a count property anymore, and it instead just uses a constant key the count_map
New docs
Character - Utility for getting better types with player characters in roblox
Pages Util - Utility for dealing with roblox pages instances easily
Ratelimit - Object for handling ratelimits intuitively
v2 has now been released,
with docs updated for grouper,
and new ways to install with prebuilt rbxms on releases for more info check out the installing section on the docs
Mainly just a patch to fix some issues with release generation, such as the rbxms being generated using string requires as roblox still currently doesn’t support string requires.
So for any of ya’ll who use studio just find the zip file for the library you want to download in the assets section on the release page, and then unzip it and insert the rbxm included into studio. Although some require other libs such as playerzone (it requires character) so you’re also going to need to download character in that case
figured id post an update given that ive added 2 new libraries today, but anywho been working on a datastore wrapper for awhile now but its almost done. So should be out with a v3 release soon™
Been a bit, but releases are now done for every library separately rather than one big release.
Improvements
Every release for libraries that have dependencies, now include files that include those dependencies so you don’t have to download them seperately! Just look for -deps at the end of file names.
Fixed requires in rbxms for libraries that have a /init dir for their source code
Going to be using this sorta format for updates now, as I’m no longer doing “all-library” releases and each library will have its own seperate releases.
Added
Rbx Safe Conn - Library that connects to events, where you’d want to probably also iterate over an array and call the same callback on every array item
Changed
Ratelimit - Uses cross now so it should now properly work cross runtime, and also ratelimit objects are now frozen
also should be finally releasing a loganalytics update, with a pre release branch that allows you to get full types for custom events with a new class, although the pre release requires enabling the new solver and the type function FFlags
A BadgeService wrapper that fully handles ratelimiting badge ownership checks, batching checks into tables that areng longer than 10 indexes, and has an arguably nicer API compared to BadgeService.
local Players = game:GetService("Players")
--[[
wrapper around a remote the client fires to the server
when it loads in, helps not have issues
w the server clogging up the remote queue for the player,
and also helps w award as BadgeService:AwardBadge() will always fail
until the players ui loads in,
because it has to display the awarded notification
--]]
local player_loaded = require("@player_loaded")
local badger = require("@badger")
local WELCOME_BADGE = badger(0)
player_loaded.on(function(player)
badger.award(player, WELCOME_BADGE)
end)