ChatService.SpeakerAdded:Connect(function(PlrName)
	local Speaker = ChatService:GetSpeaker(PlrName)
	for _, v in pairs(Developer) do
		if Players[PlrName].Name == v then
			Speaker:SetExtraData('Tags', {{TagText = "Developer", TagColor = Color3.fromRGB(102, 42, 255)}})  
			Speaker:SetExtraData('NameColor', Color3.fromRGB(164, 85, 255))
			Speaker:SetExtraData('ChatColor', Color3.fromRGB(222, 199, 255))
		end
	end
	if Players[PlrName]:WaitForChild("BoolValues"):WaitForChild("UserOwnsBadge").Value == true and not Developer then
		Speaker:SetExtraData('NameColor', Color3.fromRGB(255, 135, 137))
		Speaker:SetExtraData('ChatColor', Color3.fromRGB(249, 255, 188))
		Speaker:SetExtraData('Tags', {{TagText = "Tester", TagColor = Color3.fromRGB(255, 79, 87)}})
		end
	end)

There is no error input when the developer joins the game, they received their unique chat tag, however, for a player that owns a badge and isn't a developer, they have no chat tag at all. If I completely remove "not Developer" then the developer and player that owns the badge will have a tester chat tag. Anything I could do?