Chat tag system [Edit in-game]

How would I make it so I can edit someone’s chat tag in game?

I tried this script :

game.Players.PlayerAdded:Connect(function(player)
	if player:WaitForChild("Tags"):WaitForChild("OwnTagOne") == true then
		local Tags = player.Tags
		wait(0.6)
		local tags = {
			{
				TagText = Tags.TagTextOne.Value,
				TagColor = Color3.fromRGB(Tags.ColorOne.Value),
			}
		}

		local ChatService = require(game:GetService("ServerScriptService"):WaitForChild("ChatServiceRunner").ChatService)
		local speaker = nil
		while speaker == nil do
			speaker = ChatService:GetSpeaker(player.Name)
			if speaker ~= nil then break end
			wait(0.01)
		end
		speaker:SetExtraData("Tags",tags)
		speaker:SetExtraData("ChatColor",Color3.fromRGB(Tags.ChatColorOne.Value)) -- Text Color
		speaker:SetExtraData("Font",26)
		speaker:SetExtraData("NameColor",Color3.fromRGB(Tags.ColorOne.Value))
	end
end)

But it’s not working for some reason. Anyone know a possible method of achieving this?