Better Chat V3 | Custom chat with replies, rich text, message editing, and more!

This is very cool indeed!

This text will be blurred

Update 1.02

  • Introduced text colors into settings
  • Added different corners to place the chat into in the config (moves resize button and everything)
  • Fixed chat tag stacking issues in the config
  • Added tons of new API functions to use
  • Added function to mute/unmute users
  • Lazy loading for messages (significantly reduced lag when reloading channels)
  • Wrote documentation for the new API
  • Added new functions to HD admin addon (chat color function & talk command support)
3 Likes

Iā€™d greatly appreciate it if you put this on GitHub, however I can do it myself if youā€™d like that.

(I use VS code and Rojo thatā€™s why)

Iā€™ve wanted to do it, but donā€™t know how/where to start.

  1. How do you nest folders and modules and then nest modules inside those nested folders? :skull:


(would I have to restructure the whole thing)

  1. Would I need to convert the gui objects into modules? (assuming so if itā€™s github)
2 Likes

Iā€™ll make a repository and let you own it.

(P.S donations doesnā€™t work it doesnā€™t prompt purchase) never mind it worked after I rejoined

1 Like

That works for me! Can you PM me with updates?

Can I be Poland Translator? :3

Can you make a special post to share your addons? It would be cool and it will make it easy to find an addon.

hi, I tested localization with someone from another country without seeing any difference, is this supposed to translate what is being said? if yes, is there an option to activate it? Thank you!!

No, localization only changes text like ā€˜Hit \ to open the chatā€™ and things like that.

Iā€™m not aware of any APIs (that are cheap & fast enough) to use in live-time on a large scale like this.

Iā€™ll be making a plugin for this later, itā€™ll have all sorts of cool features.

2 Likes

Hmm I wonder if you can implement a auto-correct by using Httpservice and connecting that to google auto-correct

I mean yes, but the latency would be:

  • Request to server with input (~100+ ms avg)
  • Request to web server with that input and return it while staying within limits (~200 ms avg)
  • Return to client and then process that info

(not like 100% accurate times but an idea, looking at like .5 - 2s of waiting after adding a single character)

I think the latency would be too drastic to have a reliable auto correcting system.

2 Likes

Status update :hammer:

Working on a plugin to configure options more easily and fork the chat as needed. Itā€™ll be available for use in a few weeks once Iā€™m caught up with schoolwork and have time to polish it.

Preview
8 Likes

This is really cool, however, im having trouble re-adding my server addons / plugins from V1,


image
The images from above are the module scripts that were in the folder server plugins from V1, when adding those to the V3 and running the game, this errors pops up:

Idk if im doing something wrong or if I have to modify the scripts, but theres something I can do about it?

2 Likes

Uh, I didnā€™t introduce the chatted event for all speakers the full API, but this should work.

return function(api)
	api.speaker.speakerAdded:Connect(function(speaker)
		speaker.events.chatted:Connect(function(message,messageObject)
			local player = messageObject.sender
			-- continue logic
		end)
	end)
end

And, with the introduction of the new client command API, Iā€™d recommend using those when applicable (not having server logic like /private or /removenick)

local teleportService = game:GetService("TeleportService")
local localPlayer = game:GetService("Players").LocalPlayer

local command = {}
command.name = "rejoin"
command.aliases = {"rj"}
command.call = function()
    teleportService:Teleport(game.PlaceId,localPlayer)
end
return command

And as another note, you can also use the .Chatted event like normally when the player has sent a message by like:

local onPlayer = function(player)
	player.Chatted:Connect(function(message)
		-- cool
	end)
end

local players = game:GetService("Players")
for _,player in pairs(players:GetPlayers()) do
	task.spawn(onPlayer,player)
end
players.PlayerAdded:Connect(onPlayer)

Those are the solutions I could come up with, if anyone has anything to add message me or reply to this!

3 Likes

Alr, thank you so much! 30 letters moment

1 Like

much more reliable than V2 but still get the odd glitch

image

can you add /clear to clear chat messages?

1 Like

Thatā€™s the filter erroring not a glitch.

Sure! Might take a few days but Iā€™ll add it to my todo.

2 Likes

How do I prevent this from not erroring.

Because it works fine on normal roblox chat and it seems to be always on better chat.