{"id":"illinois-roadbuff/talk-eligibility","name":"talk-eligibility","scope":"illinois-roadbuff","platform":"roblox","description":"Checks which players can chat with one another based on ROBLOX chat permissions.","version":"1.0.0-beta.5","latest":"1.0.0-beta.5","versions":["1.0.0-alpha.1","1.0.0-alpha.2","1.0.0-alpha.3","1.0.0-alpha.4","1.0.0-beta.1","1.0.0-beta.2","1.0.0-beta.4","1.0.0-beta.5"],"license":"Apache-2.0","licenseRating":"safe","licenseCaveats":["Modified files must carry a notice of changes. If the package ships a NOTICE file, its attributions must be preserved."],"licenseVerified":true,"dependencies":{},"integrity":"8d233a3f09d7f8fd46e8cd68aa6369b91c3b5a991ab98d54bf066a88a86960ab","likes":0,"downloads":0,"install":"forest install illinois-roadbuff/talk-eligibility","url":"https://forest.dev/p/roblox/illinois-roadbuff/talk-eligibility","files":"https://api.forest.dev/ai/package/roblox/illinois-roadbuff/talk-eligibility/files","readme":"# Talk Eligibility\r\n**A typed library that checks which players can chat with one another based on ROBLOX chat permissions.**\r\n\r\n> [!WARNING]\r\n> ***I don't recommend using this module as it has multiple issues. I'd recommend using something like [AgeGroupAssistant](https://devforum.roblox.com/t/age-group-assistant-inform-players-about-who-they-can-chat-with/4250545) for now.***\r\n\r\n> [!NOTE]\r\n> ***You must have the new Luau type solver enabled in `Workspace` in order to receive proper types.***\r\n\r\n## Installation\r\n*You may get the `.rbxm` file directly from [Codeberg Releases](https://codeberg.org/project-roadwork/talk-eligibility/releases), or *install via Wally or Pesde*:**\r\n\r\n**Install via pesde:**\r\n```bash\r\npesde add project_roadwork/talk_eligibility@version\r\npesde install\r\n```\r\n*Replace version with the current version of the package.*\r\n\r\n**Or install via Wally:**\r\nAdd this to your `wally.toml` file:\r\n\r\n```toml [wally.toml]\r\n[dependencies]\r\nlightreflector = \"illinois-roadbuff/talk-eligibility@version\"\r\n```\r\n*Replace version with the current version of the package.*\r\n\r\nThen, type this into your terminal and press enter:\r\n```bash\r\nwally install\r\n```\r\n\r\n## Quick Start\r\n***Make sure to do this for both the server and client.***\r\n```luau\r\nlocal ReplicatedStorage = game:GetService(\"ReplicatedStorage\")\r\nlocal TalkEligibility = require(ReplicatedStorage.Packages[\"talk-eligibility\"])\r\n\r\ntask.wait(5) -- Make sure to wait for a few seconds\r\n\r\nTalkEligibility.init()\r\nTalkEligibility.start()\r\n```\r\n\r\n## Configuration\r\n```luau\r\nlocal BASE_CONFIG = {\r\n    LOCKED = false,\r\n    _VERSION = _versionToString(version),\r\n\r\n    -- Repositories\r\n    CODEBERG = \"https://codeberg.org/project-roadwork/talk-eligibility.git\",\r\n\tGITHUB = \"https://github.com/project-roadwork/talk-eligibility.git\",\r\n\r\n\tCodebergTags = \"https://codeberg.org/api/v1/repos/project-roadwork/light-reflector/tags\",\r\n\r\n\tCheckForUpdates = true,\r\n\tShowPrints = true,\r\n\tShowWarns = true,\r\n\r\n    TextChatService = game:GetService(\"TextChatService\"),\r\n    --^ Change this if you are using something like OpenTextChatService\r\n\r\n    --BeginningString = `<b><font color=\"#{Color3.fromRGB(210, 210, 210):ToHex()}\">[Talk Eligibility]</font></b> `,\r\n    BeginningString = ``,\r\n    CanChatTemplate = \"🔊 %s joined. You are able to talk with this player.\",\r\n    CannotChatTemplate = \"🔇 %s joined. You are not able to talk with this player.\",\r\n    NotDeterminedTemplate = \"❔%s joined. You may or may not be able to talk with this player.\",\r\n    NoRestrictionsTemplate = \"🔊 You can talk to everyone in this server.\",\r\n    RestrictedTemplate = \"🔇 You cannot talk to anyone in this server.\",\r\n    CanChatWithAllTemplate = \"🔊 You can currently talk to everyone in this server.\",\r\n    CannotChatWithAllTemplate = \"🔇 You currently cannot talk to anyone in this server.\",\r\n    OnlyOneTemplate = \"🔇 You are the only person in this server.\",\r\n\r\n    CanChatWithMultiple = \"🔊 You can talk with the following players: %s.\",\r\n    CannotChatWithMultiple = \"🔇 However, you cannot talk with the following players: %s.\",\r\n\r\n    ShowTalkablePlayers = true,\r\n    ShowNonTalkablePlayers = true,\r\n\r\n    CanDoSecondTests = false, \r\n    -- ^ This may not be neccesary, but it checks the other way around.\r\n    --   e.g., if (player1 and player2) *AND* (player2 and player1)\r\n    \r\n    CanCheckOnNewPlayerJoin = true,\r\n    -- ^ Check if the existing players can chat with any new player. \r\n    --   May spam the chat with servers which has high capacity\r\n\r\n    -- Max amount shown until cutoff (e.g., plr1, plr2, and 2 others)\r\n    MaxTalkablePlayersShown = 5,\r\n    MaxNonTalkablePlayersShown = 5,\r\n\r\n    -- Preview\r\n    FontSize = 13,\r\n    FontFace = \"Gotham\",\r\n    CanChatColor3 = Color3.fromRGB(198, 255, 192),\r\n    CannotChatColor3 = Color3.fromRGB(255, 142, 142),\r\n    NotDeterminedColor3 = Color3.fromRGB(210, 210, 210),\r\n}\r\n```\r\n\r\n## License\r\n**Licensed under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0) WITH the [LLVM exception](https://spdx.org/licenses/LLVM-exception.html).**\r\n","readmeTruncated":false}