SafeBadges - An open-source, reliable, safe, and precise way to award badges

You can easily get proof by testing yourself, for example if you try auto completing an undefined instance, such as one returned from WaitForChild, you notice it doesn’t properly auto complete. As soon as you define it’s type, you get the correct results.

Im pretty sure they were type checking definded instances but im not sure cuz that version is gone

No reason to do
local part: Part = Instance.new(“Part”)

oh; no, they just had a few types which were just a number under a different name
the functions looked like this:

type someOtherCount = number
type retriesCount = number
type idk = number
function(retries:retriesCount)

1 Like

tbf that has its use cases, it’s basically the typedef keyword in C

1 Like

This looks really nice, I think I’ll use it in my game! :slight_smile:

Me trying to understand how this all works :skull:

Atleast I know what functions to use

1 Like

Hi @erazias, do you plan to publish this module on GitHub and add it to widely used by developers Wally Index? I only saw there’s an unofficial roblox-ts package but it’s the npm package with types for TypeScript environments. This way by making it into GitHub repo you can automate the process of publishing the new versions into wally on every change and make it easier for community to potentially contribute to this open source project.

1 Like

Hey, thanks for the suggestion! I’ll look into putting it on GitHub, as well as the Wally Index (however no promises on that).

1 Like

Suggestion: Would it be possible to check if the passed value for ‘IDS’ is NOT a table? When I first used this, I only wanted to check or award one badge, so I kept getting errors. If it ISNT a table, maybe you could convert it into a table of some sort? Sorry if this was kind of confusing.

Can’t you just pass a table with just one ID in it?

local badgeId = 12345

SafeBadges.AwardBadges(player, {badgeId})

You can, though people who are just starting to use the module like me might not have thought of that and end up getting an error.