Better Chat V3
Disclaimer: Roblox decided to ban this model and to install it, you will need to download the source code from the new installation instructions.
New instructions
How do I install it?
- Get the latest release from GitHub, and download the full_loader rbxm, place it in ServerScriptService
- Go to TextChatService in the explorer, and set ‘ChatVersion’ to ‘LegacyChatService’
- Go to the model tab in studio, Advanced (on the far right), Service, and insert ‘Chat’.
- From here, all you need to do is turn off ‘LoadDefaultChat’ and ‘BubbleChatEnabled’
How do I maintain auto-updates?
Instructions
updater.rbxm (129.2 KB)
Drag and drop this script into your game, and then save it as a local plugin by right clicking it. I would upload it to Roblox and allow you to install it there, but once again it has been flagged so it has to be done this way.
It has three options:
- Toggle Auto-Update: When you open your game in studio, if it finds better chat, it’ll automatically replace the code and place it where it was before if you moved it to a different location after you forked it
- Install: Installs the chat system, but it will not disable the default chat, you will need to follow forum instructions for that. Plugins do not have the capability of doing that.
- Overwrite: This will just overwrite any currently existing code with the most up-to-date version, this includes if you haven’t fixed it after Roblox took it down, hitting this button will fix it.
This plugin works by sending a request to pastebin, checking the version, if it’s mismatched, then it’ll request the URL linked in the pastebin, base64 decode it, de-gzip it (level 9 dynamic compression), and then parse the XML (.rbxmx) file and re-create it.
Introduction
Socialization is an integral aspect of most games, so I strived to make a custom chat system that could help users better interact with each other and convey their messages more effectively. This project took me over five months of off-and-on work to complete, and I sincerely hope this can help others. In addition, it’s entirely open source and not something behind closed walls, it is also capable of being updated by users unlike the default chat.
Features
The primary features of this chat system include:
- Rich text formatting (allows users to emphasize their messages in the chat with easy to understand syntax and makes sure to escape rich text, so it’s not exploited)
- Custom emojis (configurable by developers), note that this feature is in ALPHA and may not work in all cases. Please post me on what messages break it. It will happen, user input is a nightmare.
- Ability to reply to other’s messages (help users clarify what they’re responding to in the case of an active chat)
- Ability to mention users in the chat (Want to get someone’s attention? You can mention them effectively, and it’ll light up the message on their screen)
- Message editing (Ability to edit messages after sending them, but it will mark it as ‘edited’).
- Permissions system (Don’t like users to have message editing, mentioning, rich text? You can assign each of these individually to specific people/groups)
- Undo/redo system (Ctrl+Y / Ctrl + Z system for the chat bar on PC to undo/redo your messages, you can also use arrows to navigate through your past messages)
- Sleek UI (Consistent UI design throughout that feels right and looks excellent)
- Various configurations (Configuration for most aspects of the chat to fit the needs of your game)
- Player icons next to messages (Show who’s speaking, there’s also an option for viewports which allows you to see the player’s outfit as it changes but is lower quality due to Roblox limitations)
- Localization (Localization support forked from the default chat system to provide that similar feel and accommodate games that go beyond English)
- Settings menu (This is toggleable, but highly recommended to keep. This menu allows the users to customize their chat’s text size, ability to resize, bubble chat, and use quick chat effectively. It only has an effect on them visually, nobody else will see it.)
Even with all of these, it’s not flawless. There will still be bugs, and the code won’t always be the cleanest, but it all still works. If you have any ideas on how to improve my code, feel free to private message on here.
This release as of now is currently in Alpha, so a lot of features can end up using work but I want the community’s help on finding what needs work and what people want.
Disclaimers
- This does not use the new chat API system by Roblox as of yet, waiting for full in-depth documentation.
- There will be bugs, but I’ve fixed as many as I can find as of now.
- The filter does not work in studio, that’s a Roblox thing and not mine. I’m clarifying this because people keep thinking the filter doesn’t work due to that.
Documentation
→ API docs
Previews
Screenshots:
Message context menu
- Hold your messages on mobile or right click them on PC to open this menu that supports: message editing, add to quick reply, and reply in general
Replies
- Want to clarify who you’re responding to? Go right ahead!
Settings menu
- This menu allows users to make small clientside modifications to their chat’s appearance for their own personal spin!
Display names
- Hover over a message to reveal the user’s username over their display name!
Chat tags
- With images:
- With text:
Rich text
Your messages can use rich text, but not in the sense of <b>text</b>
more of **text**
. This ensures that users don’t like set their text size to 100 or do things we don’t want them doing.
Formats:
- Bold text
**text**
- Italics text
*text*
or_text_
- Underlined text
__text__
- Italics & bold
***text***
- Strikethrough text
~~text~~
- Color text
(brick color / text)
or(r,g,b / text)
or(#hexcode / text)
- Outlined text
[brick color / text]
or[r,g,b / text]
or[#hexcode / text]
Localization
Localization is one of the key differences between this and my other custom chat systems. It’s mostly localized using Roblox’s default chat’s strings but for new features I’ll need to outsource that localization. As of now, the addon features are just in English but soon they’ll be available in all the languages the rest of the chat supports.
Supported languages:
- English
- French
- Russian
- Italian
- Dutch
- Spanish
- Chinese (Simplified)
- Chinse (Traditional)
- Korean
- Japanese
Official addons
Addons created by me
HD admin support
- Only shows commands you have access to and updates w custom commands
GhostChat
- I made a custom addon like Murder Mystery 2 where dead users can talk to each other without alive users seeing it, but alive messages can be seen by everyone. To install it, you just add 2 teams named ‘Dead’ and ‘Alive’ and add this module to BetterChat > Addons > Server
- Also don’t forget to disable ‘Team Chat’ in the better chat config
Credits
@Xsitsu - A few of the original chat functions such as user chat colors and chat cooldowns.
@qwreey74 - High quality material icons
@Blockzez - Hex color encode / decode functions
@boatbomber - Textbox+'s undo/redo system code concept
@boatbomber - Image masking for some user thumbnails
@ForeverHD - Topbar+
@Fm_Trick - Slider math help via public resource
@McThor2 - Math help for bubble chat
@sleitnick - Raycasting code for bubble chat
@alexinite - Contributing bug fixes and helping people in replies with their issues
@iamEvanRBLX - Topbar+ update
Donors
- @tnavarts —> Sorry I just saw your donation! I’m astounded that a Roblox admin has donated to this system. This is literally incredible, you just made my month. Thank you.
- @GamerOkami → Diamond Supporter (Thank you so much for supporting my work!)
- @Alorist → Diamond Supporter (Another big thank you for your donation!)
- @Astra_X2 —> Diamond Supporter (Thanks for pointing out bugs and supporting my work!)
- @Cantii → Diamond Supporter (Thanks for using my chat and donating! It means a lot to me sincerely)
Where do I get it?
How do I install it?
- Insert the loader module
1A. Download this module:
MainModule.rbxm (316.7 KB)
1B. Place it in ServerScriptService
1C. In the loader model, go to Config → Loader, and set the inDevelopment to true - Go to TextChatService in the explorer, and set ‘ChatVersion’ to ‘LegacyChatService’
- Go to the model tab in studio, Advanced (on the far right), Service, and insert ‘Chat’.
- From here, all you need to do is turn off ‘LoadDefaultChat’ and ‘BubbleChatEnabled’
Sorry for the complexity! Roblox made it very difficult with recent updates.
Polls
- Yes
- No
0 voters
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
0 voters
Support my work
I develop a lot of community resources for free with thousands of lines of code and hours of my time, and I don’t make anything back from them. If you wish to support my work, you can check out the donation game below. It always means a lot when people donate to me.