Introduction
Roblox is a platform built off of the idea of socializing with peers and having fun with others. While many developers find their own ways to boost social factors in their games, Social Chat aims to enhance chat features that the Roblox Chat doesnt already have!
These features include (but are not limited to):
Custom Emoji Support
In Depth API features for unique chat messages and visuals!
A Highly customizable Bubble Chat System!
Custom chat highlights for readability!
…and much more!
You can grab the latest version of the system here or see it in game for yourself!
Documentation
In this section I go in depth in terms of SocialChat’s API usage! (alternatively you can find some reference material inside of each respective environment module)
Initially, you must retreive the SocialChat module in your desired script by using the following code:
local SocialChat = require(game.ReplicatedStorage.SocialChat);
Server API
:MuteClient ( Client : Player , Duration : number? )
→ Mutes the provided client for the specified duration of n seconds (if one was provided), otherwise the player will have to be unmuted using the :UnmuteClient()
method.
:UnmuteClient ( Client : Player )
→ Unmutes the provided client if they were previously muted.
.PlayerChatted:Connect ( function( playerWhoChatted : Player , messageSent : string , chatMetadata : table )
→ A RBXScriptSignal that can be connected to via the :Connect()
method which fires upon a new chat message being received by the server.
NOTE: The messageSent
parameter is NOT filtered! This is useful for cases such as admin commands etc.
Client API
:CreateChatMessage ( speaker : string , message : string , metadata : table? )
→ Creates a chat message on our own client that can be used for things like server tips, announcements, etc.
Example Usage:
SocialChat:CreateChatMessage(
"TIP", -- this parameter can be set to "nil" if you dont want a speaker tag in your message
"Did you know that John Shedletsky hid his chicken stashes all around Robloxia?",
{
["MessageColor"] = Color3.fromRGB(155, 65, 65),
["SpeakerColor"] = Color3.fromRGB(255, 80, 80)
}
);
:CreateBubbleMessage( Agent : Model , message : string , metadata : table )
→ Creates a Chat Bubble for the specified Agent Instance parameter.
USAGE WARNING: This method will only work if the “IsBubbleChatEnabled” setting is enabled in the ChatSystemConfigurations module! This method also requires the Agent model parameter to have a Head BasePart object
:RenderText( text : string , container : Instance , metadata : table? , additionalXSpace : number? ) : table
→ This it the method used to render all of the system’s messages! You can use this method to render text on an external source!
:GetModules() : table
→ Returns a table of SocialChat’s Client modules (eg. ChatSystemConfigurations, ChatSystemEmotes, etc.)
Author Notes
If you have any questions or feature suggestions, feel free to post them here or reach me on discord at Cos#5856! Feel free to let me know about all your creations with the system in general as well!
This is also my very first open sourced resource available to the public! All feedback/helpful critism is appreciated!
Credits
Crediting me is completely optional but I would appreciate any form of crediting! You can also support future projects/resources by purchasing some of my donation products!
- @ForeverHD and the Nanoblox Team for their amazing TopbarPlus utility module!
- @nooneisback for their SpriteClip module!
Polling
(for research purposes!)
- Yes!
- No
- Other (Comment)
0 voters
- Yes
- No
0 voters
- 1 (I would still use the default Roblox Chat)
- 2 (It could use some work)
- 3 (It’s alright!)
- 4 (It’s great! I would use this for fun side projects)
- 5 (I love it! I would use this in my own projects)
0 voters