Players
发布时间:2026-09-17 | 浏览:1
For Agents | This page is available as markdown: https://create.roblox.com/docs/en-us/reference/engine/classes/Players.md | Documentation index: https://create.roblox.com/docs/llms.txt | Engine API index: https://create.roblox.com/docs/reference/engine/llms.txt Learn English Feedback Engine Class Players Not Creatable Service Summary Properties BanningEnabled : boolean BubbleChat : boolean CharacterAutoLoads : boolean ClassicChat : boolean LocalPlayer : Player localPlayer : Player Deprecated MaxPlayers : number NumPlayers : number Deprecated numPlayers : number Deprecated PreferredPlayers : number RespawnTime : number UseStrafingAnimations : boolean Methods BanAsync ( config : Dictionary ) : () Chat ( message : string ) : () CreateHumanoidModelFromDescription ( description : HumanoidDescription , rigType : Enum.HumanoidRigType , assetTypeVerification : Enum.AssetTypeVerification ) : Model Deprecated CreateHumanoidModelFromDescriptionAsync ( description : HumanoidDescription , rigType : Enum.HumanoidRigType , assetTypeVerification : Enum.AssetTypeVerification ) : Model CreateHumanoidModelFromUserId ( userId : User ) : Model Deprecated CreateHumanoidModelFromUserIdAsync ( userId : User ) : Model GetBanHistoryAsync ( userId : User ) : BanHistoryPages GetCharacterAppearanceAsync ( userId : User ) : Model Deprecated GetCharacterAppearanceInfoAsync ( userId : User ) : Dictionary GetFriendsAsync ( userId : User ) : FriendPages GetHumanoidDescriptionFromOutfitId ( outfitId : number ) : HumanoidDescription Deprecated GetHumanoidDescriptionFromOutfitIdAsync ( outfitId : number ) : HumanoidDescription GetHumanoidDescriptionFromUserId ( userId : User ) : HumanoidDescription Deprecated GetHumanoidDescriptionFromUserIdAsync ( userId : User ) : HumanoidDescription GetNameFromUserIdAsync ( userId : User ) : string GetPlayerByUserId ( userId : User ) : Player GetPlayerFromCharacter ( character : Model ) : Player GetPlayers ( ) : { Player } getPlayers ( ) : { Player } Deprecated GetProfileConfigurationFromUserIdAsync ( userId : User ) : ProfileConfiguration GetUserIdFromNameAsync ( userName : string ) : number GetUserThumbnailAsync ( userId : User , thumbnailType : Enum.ThumbnailType , thumbnailSize : Enum.ThumbnailSize ) : Tuple playerFromCharacter ( character : Model ) : Player Deprecated players ( ) : { Player } Deprecated SetChatStyle ( style : Enum.ChatStyle ) : () TeamChat ( message : string ) : () UnbanAsync ( config : Dictionary ) : () Events PlayerAdded ( player : Player ) : RBXScriptSignal PlayerMembershipChanged ( player : Player ) : RBXScriptSignal PlayerRemoving ( player : Player , reason : Enum.PlayerExitReason ) : RBXScriptSignal UserSubscriptionStatusChanged ( user : Player , subscriptionId : string ) : RBXScriptSignal Inherited Members 58 inherited from Instance 6 inherited from Object API Reference Properties BanningEnabled Not Scriptable Read Parallel Capabilities: Players Players.BanningEnabled : boolean Provide feedback BubbleChat Read Only Not Replicated Read Parallel Capabilities: Chat, Players Players.BubbleChat : boolean Provide feedback CharacterAutoLoads Not Replicated Read Parallel Capabilities: Players Players.CharacterAutoLoads : boolean Code Samples Player Respawn Timer local Players = game :GetService( "Players" ) -- Set CharacterAutoLoads to false Players.CharacterAutoLoads = false -- Remove player's character from workspace on death Players.PlayerAdded:Connect( function (player) while true do local char = player.CharacterAdded:Wait() char.Humanoid.Died:Connect( function () char:Destroy() end ) end end ) -- Respawn all dead players once every 10 seconds while true do local players = Players:GetChildren() -- Check if each player is dead by checking if they have no character, if dead load that player's character for _, player in pairs (players) do if not workspace :FindFirstChild(player.Name) then player:LoadCharacterAsync() end end -- Wait 10 seconds until next respawn check task . wait ( 10 ) end Provide feedback ClassicChat Read Only Not Replicated Read Parallel Capabilities: Chat, Players Players.ClassicChat : boolean Provide feedback LocalPlayer Read Only Not Replicated Read Parallel Capabilities: Players Players.LocalPlayer : Player Provide feedback localPlayer Deprecated Show details MaxPlayers Read Only Not Replicated Read Parallel Capabilities: Players Players.MaxPlayers : number Provide feedback NumPlayers Deprecated Show details numPlayers Deprecated Show details PreferredPlayers Read Only Not Replicated Read Parallel Capabilities: Players Players.PreferredPlayers : number Provide feedback RespawnTime Read Parallel Capabilities: Players Players.RespawnTime : number Provide feedback UseStrafingAnimations Not Scriptable Read Parallel Capabilities: Players Players.UseStrafingAnimations : boolean Provide feedback Methods BanAsync Yields Capabilities: Players, Consequences Players:BanAsync ( config : Dictionary ) : () Parameters config : Dictionary Returns () Code Samples Banning Users local Players = game :GetService( "Players" ) if shouldBeBanned(player) then local banHistoryPages = Players:GetBanHistoryAsync(player.UserId) local duration = 86400 -- 24 hours in seconds. Recommendation: use your own logic based off of user's BanHistory local config: BanConfigType = { UserIds = { player.UserId }, Duration = duration, DisplayReason = "You violated community guideline #5" , PrivateReason = "Put anything here that the user should not know but is helpful for your records" , ExcludeAltAccounts = false , ApplyToUniverse = true , } local success, err = pcall ( function () return Players:BanAsync(config) end ) print (success, err) end Provide feedback Chat Plugin Security Capabilities: Players Players:Chat ( message : string ) : () Parameters message : string Returns () Code Samples Players:Chat -- Command bar game :GetService( "Players" ):Chat( "Hello, world!" ) --Results in 'Hello, world!' appearing in the Chat log under your Player's name. -- Script local Players = game :GetService( "Players" ) Players:Chat( "Hello, world!" ) --Errors Provide feedback CreateHumanoidModelFromDescription Deprecated Show details CreateHumanoidModelFromDescriptionAsync Yields Capabilities: AvatarAppearance, Players Players:CreateHumanoidModelFromDescriptionAsync ( description : HumanoidDescription , rigType : Enum.HumanoidRigType , assetTypeVerification : Enum.AssetTypeVerification ) : Model Parameters description : HumanoidDescription rigType : Enum.HumanoidRigType assetTypeVerification : Enum.AssetTypeVerification Default Value: "Default" Returns Model Code Samples Create Humanoid Model From Description game .Players:CreateHumanoidModelFromDescriptionAsync(Instance.new( "HumanoidDescription" ), Enum .HumanoidRigType.R15).Parent = game .Workspace Provide feedback CreateHumanoidModelFromUserId Deprecated Show details CreateHumanoidModelFromUserIdAsync Yields Capabilities: Players Players:CreateHumanoidModelFromUserIdAsync ( userId : User ) : Model Parameters userId : User Returns Model Code Samples Create Humanoid Model From A User ID game .Players:CreateHumanoidModelFromUserIdAsync( 1 ).Parent = game .Workspace Provide feedback GetBanHistoryAsync Yields Capabilities: Players, Consequences Players:GetBanHistoryAsync ( userId : User ) : BanHistoryPages Parameters userId : User Returns BanHistoryPages Provide feedback GetCharacterAppearanceAsync Deprecated Show details GetCharacterAppearanceInfoAsync Yields Capabilities: Players Players:GetCharacterAppearanceInfoAsync ( userId : User ) : Dictionary Parameters userId : User Returns Dictionary Code Samples Example Return Character Appearance Dictionary local result = { playerAvatarType = "R15" , defaultPantsApplied = false , defaultShirtApplied = false , scales = { bodyType = 0 , head = 1 , height = 1.05 , proportion = 0 , depth = 0.92 , width = 0.85 , }, bodyColors = { leftArmColorId = 1030 , torsoColorId = 1001 , rightArmColorId = 1030 , headColorId = 1030 , leftLegColorId = 1001 , rightLegColorId = 1001 , }, assets = { { id = 1031492 , assetType = { name = "Hat" , id = 8 , }, name = "Striped Hat" , }, { id = 13062491 , assetType = { name = "Face Accessory" , id = 42 , }, name = "Vision Française " , }, { id = 16598440 , assetType = { name = "Neck Accessory" , id = 43 , }, name = "Red Bow Tie" , }, { id = 28999228 , assetType = { name = "Face" , id = 18 , }, name = "Joyous Surprise" , }, { id = 86896488 , assetType = { name = "Shirt" , id = 11 , }, name = "Expensive Red Tuxedo Jacket" , }, { id = 86896502 , assetType = { name = "Pants" , id = 12 , }, name = "Expensive Red Tuxedo Pants" , }, { id = 376530220 , assetType = { name = "Left Arm" , id = 29 , }, name = "ROBLOX Boy Left Arm" , }, { id = 376531012 , assetType = { name = "Right Arm" , id = 28 , }, name = "ROBLOX Boy Right Arm" , }, { id = 376531300 , assetType = { name = "Left Leg" , id = 30 , }, name = "ROBLOX Boy Left Leg" , }, { id = 376531703 , assetType = { name = "Right Leg" , id = 31 , }, name = "ROBLOX Boy Right Leg" , }, { id = 376532000 , assetType = { name = "Torso" , id = 27 , }, name = "ROBLOX Boy Torso" , }, }, } print (result) Provide feedback GetFriendsAsync Yields Capabilities: Players, Social Players:GetFriendsAsync ( userId : User ) : FriendPages Parameters userId : User Returns FriendPages Code Samples Print Roblox Friends local Players = game :GetService( "Players" ) local USERNAME = "Cozecant" local function iterPageItems (pages) return coroutine . wrap ( function () local pagenum = 1 while true do for _, item in ipairs (pages:GetCurrentPage()) do coroutine . yield (item, pagenum) end if pages.IsFinished then break end pages:AdvanceToNextPageAsync() pagenum = pagenum + 1 end end ) end -- First, get the user ID of the player local userId = Players:GetUserIdFromNameAsync(USERNAME) -- Then, get a FriendPages object for their friends local friendPages = Players:GetFriendsAsync(userId) -- Iterate over the items in the pages. For FriendPages, these -- are tables of information about the friend, including Username. -- Collect each username in a table local usernames = {} for item, _pageNo in iterPageItems(friendPages) do table . insert (usernames, item.Username) end print ( "Connections of " .. USERNAME .. ": " .. table . concat (usernames, ", " )) Provide feedback GetHumanoidDescriptionFromOutfitId Deprecated Show details GetHumanoidDescriptionFromOutfitIdAsync Yields Capabilities: AvatarAppearance, Players Players:GetHumanoidDescriptionFromOutfitIdAsync ( outfitId : number ) : HumanoidDescription Parameters outfitId : number Returns HumanoidDescription Code Samples Get HumanoidDescription From Outfit ID local Players = game :GetService( "Players" ) local Workspace = game :GetService( "Workspace" ) local function getOutfitId (bundleId) if bundleId <= 0 then return end local info = game .AssetService:GetBundleDetailsAsync(bundleId) if not info then return end for _, item in pairs (info.Items) do if item.Type == "UserOutfit" then return item.Id end end return nil end local function getHumanoidDescriptionBundle (bundleId) local itemId = getOutfitId(bundleId) if itemId and itemId > 0 then return Players:GetHumanoidDescriptionFromOutfitIdAsync(itemId) end return nil end local humanoidDescription = getHumanoidDescriptionBundle( 799 ) local humanoidModel = Players:CreateHumanoidModelFromDescriptionAsync(humanoidDescription, Enum .HumanoidRigType.R15) humanoidModel.Parent = Workspace Provide feedback GetHumanoidDescriptionFromUserId Deprecated Show details GetHumanoidDescriptionFromUserIdAsync Yields Capabilities: AvatarAppearance, Players Players:GetHumanoidDescriptionFromUserIdAsync ( userId : User ) : HumanoidDescription Parameters userId : User Returns HumanoidDescription Code Samples Get HumanoidDescription From User ID game .Players:CreateHumanoidModelFromDescriptionAsync( game .Players:GetHumanoidDescriptionFromUserIdAsync( 1 ), Enum .HumanoidRigType.R15 ).Parent = game .Workspace Provide feedback GetNameFromUserIdAsync Yields Capabilities: Players Players:GetNameFromUserIdAsync ( userId : User ) : string Parameters userId : User Returns string Code Samples Get Name from UserId local Players = game :GetService( "Players" ) -- Example Data: -- UserId: 118271 Name: "RobloxRulez" -- UserId: 131963979 Name: "docsRule" local nameOne = Players:GetNameFromUserIdAsync( 118271 ) local nameTwo = Players:GetNameFromUserIdAsync( 131963979 ) print (nameOne, nameTwo) -- prints: "RobloxRulez docsRule" Get Name from UserId using a cache local Players = game :GetService( "Players" ) -- Create a table called 'cache' to store each 'Name' as they are found. -- If we lookup a 'Name' using the same 'UserId', the 'Name' will come -- from cache (fast) instead of GetNameFromUserIdAsync() (yields). local cache = {} function getNameFromUserId (userId) -- First, check if the cache contains 'userId' local nameFromCache = cache[userId] if nameFromCache then -- if a value was stored in the cache at key 'userId', then this 'nameFromCache' -- is the correct Name and we can return it. return nameFromCache end -- If here, 'userId' was not previously looked up and does not exist in the -- cache. Now we need to use GetNameFromUserIdAsync() to look up the name local name local success, _ = pcall ( function () name = Players:GetNameFromUserIdAsync(userId) end ) if success then -- if 'success' is true, GetNameFromUserIdAsync() successfully found the -- name. Store this name in the cache using 'userId' as the key so we -- never have to look this name up in the future. Then return name. cache[userId] = name return name end -- If here, 'success' was false, meaning GetNameFromUserIdAsync() -- was unable to find the 'name' for the 'userId' provided. Warn the user -- this happened and then return nothing, or nil. warn ( "Unable to find Name for UserId:" , userId) return nil end -- Example Data: -- UserId: 118271 Name: "RobloxRulez" -- UserId: 131963979 Name: "docsRule" -- The first time a UserId is used, GetNameFromUserIdAsync() will be called local nameOne = getNameFromUserId( 118271 ) local nameTwo = getNameFromUserId( 131963979 ) -- Because 118271 was previously used, get its Name from the cache local nameOneQuick = getNameFromUserId( 118271 ) print (nameOne, nameTwo, nameOneQuick) -- prints: "RobloxRulez docsRule RobloxRulez" Provide feedback GetPlayerByUserId Write Parallel Capabilities: Players Players:GetPlayerByUserId ( userId : User ) : Player Parameters userId : User Returns Player Code Samples Players:GetPlayerByUserId local Players = game :GetService( "Players" ) local player = Players:GetPlayerByUserId( 1 ) if player then print ( "Player with userId 1 is in this server! Their name is: " .. player.Name) else print ( "Player with userId 1 is not in this server!" ) end Provide feedback GetPlayerFromCharacter Capabilities: Players Simulation Access Players:GetPlayerFromCharacter ( character : Model ) : Player Parameters character : Model Returns Player Code Samples Players:GetPlayerFromCharacter local Players = game :GetService( "Players" ) local Workspace = game :GetService( "Workspace" ) local PLAYER_NAME = "Nightriff" local character = Workspace:FindFirstChild(PLAYER_NAME) local player = Players:GetPlayerFromCharacter(character) if player then print ( `Player {player.Name} ( {player.UserId} ) is in the game` ) else print ( `Player {PLAYER_NAME} is not in the game!` ) end Provide feedback GetPlayers Write Parallel Capabilities: Players Players:GetPlayers ( ) : { Player } Returns { Player } Code Samples Give Sparkles to Everyone local Players = game :GetService( "Players" ) local function onCharacterAdded (character) -- Give them sparkles on their head if they don't have them yet if not character:FindFirstChild( "Sparkles" ) then local sparkles = Instance.new( "Sparkles" ) sparkles.Parent = character:WaitForChild( "Head" ) end end local function onPlayerAdded (player) -- Check if they already spawned in if player.Character then onCharacterAdded(player.Character) end -- Listen for the player (re)spawning player.CharacterAdded:Connect(onCharacterAdded) end Players.PlayerAdded:Connect(onPlayerAdded) Provide feedback getPlayers Deprecated Show details GetProfileConfigurationFromUserIdAsync Yields Capabilities: AvatarAppearance, Players Players:GetProfileConfigurationFromUserIdAsync ( userId : User ) : ProfileConfiguration Parameters userId : User Returns ProfileConfiguration Provide feedback GetUserIdFromNameAsync Yields Capabilities: Players Players:GetUserIdFromNameAsync ( userName : string ) : number Parameters userName : string Returns number Code Samples Get UserId from Name local Players = game :GetService( "Players" ) -- Example Data: -- UserId: 118271 Name: "RobloxRulez" -- UserId: 131963979 Name: "docsRule" local userIdOne = Players:GetUserIdFromNameAsync( "RobloxRulez" ) local userIdTwo = Players:GetUserIdFromNameAsync( "docsRule" ) print (userIdOne, userIdTwo) -- prints: "118271 131963979" Get UserId from Name using a cache local Players = game :GetService( "Players" ) -- Create a table called 'cache' to store each 'UserId' as they are found. -- If we lookup a 'UserId' using the same 'Name', the 'UserId' will come -- from cache (fast) instead of GetUserIdFromNameAsync() (yields). local cache = {} function getUserIdFromName (name) -- First, check if the cache contains 'name' local userIdFromCache = cache[name] if userIdFromCache then -- if a value was stored in the cache at key 'name', then this 'userIdFromCache' -- is the correct UserId and we can return it. return userIdFromCache end -- If here, 'name' was not previously looked up and does not exist in the -- cache. Now we need to use GetUserIdFromNameAsync() to look up the userId local userId local success, _ = pcall ( function () userId = Players:GetUserIdFromNameAsync(name) end ) if success then -- if 'success' is true, GetUserIdFromNameAsync() successfully found the -- userId. Store this userId in the cache using 'name' as the key so we -- never have to look this userId up in the future. Then return userId. cache[name] = userId return userId end -- If here, 'success' was false, meaning GetUserIdFromNameAsync() -- was unable to find the 'userId' for the 'name' provided. We can warn the -- user this happened and then return nothing, or nil. warn ( "Unable to find UserId for Name:" , name) return nil end -- Example Data: -- UserId: 118271 Name: "RobloxRulez" -- UserId: 131963979 Name: "docsRule" -- The first time a Name is used, GetUserIdFromNameAsync() will be called local userIdOne = getUserIdFromName( "RobloxRulez" ) local userIdTwo = getUserIdFromName( "docsRule" ) -- Because "RobloxRulez" was previously used, get its UserId from the cache local userIdOneQuick = getUserIdFromName( "RobloxRulez" ) print (userIdOne, userIdTwo, userIdOneQuick) -- prints: "118271 131963979 118271" Provide feedback GetUserThumbnailAsync Yields Capabilities: Players Players:GetUserThumbnailAsync ( userId : User , thumbnailType : Enum.ThumbnailType , thumbnailSize : Enum.ThumbnailSize ) : Tuple Parameters userId : User thumbnailType : Enum.ThumbnailType thumbnailSize : Enum.ThumbnailSize Returns Tuple Code Samples Display Player Thumbnail local Players = game :GetService( "Players" ) local player = Players.LocalPlayer local PLACEHOLDER_IMAGE = "rbxassetid://0" -- replace with placeholder image -- fetch the thumbnail local userId = player.UserId local thumbType = Enum .ThumbnailType.HeadShot local thumbSize = Enum .ThumbnailSize.Size420x420 local content, isReady = Players:GetUserThumbnailAsync(userId, thumbType, thumbSize) -- set the ImageLabel's content to the user thumbnail local imageLabel = script .Parent imageLabel.Image = (isReady and content) or PLACEHOLDER_IMAGE imageLabel.Size = UDim2.new( 0 , 420 , 0 , 420 ) Provide feedback playerFromCharacter Deprecated Show details players Deprecated Show details SetChatStyle Plugin Security Capabilities: Players Players:SetChatStyle ( style : Enum.ChatStyle ) : () Parameters style : Enum.ChatStyle Default Value: "Classic" Returns () Code Samples Setting a Player's Chat Style -- Command bar game .Players:SetChatStyle( Enum .ChatStyle.Classic) -- Set's chat style to Classic -- LocalScript local Players = game :GetService( "Players" ) Players:SetChatStyle( Enum .ChatStyle.Classic) -- Errors Provide feedback TeamChat Plugin Security Capabilities: Players Players:TeamChat ( message : string ) : () Parameters message : string Returns () Code Samples Sending Team Chat -- Command bar game .Players:TeamChat( "Hello World" ) -- Sends a "Hello World" message to all players on the local player's team -- LocalScript local Players = game :GetService( "Players" ) Players:TeamChat( "Hello World" ) -- Errors Provide feedback UnbanAsync Yields Capabilities: Players, Consequences Players:UnbanAsync ( config : Dictionary ) : () Parameters config : Dictionary Returns () Code Samples Unbanning Users local Players = game :GetService( "Players" ) if shouldBeUnbanned(player) then local config: UnbanConfigType = { UserIds = { player.UserId, 789 }, ApplyToUniverse = false , } local success, err = pcall ( function () return Players:UnbanAsync(config) end ) print (success, err) end Provide feedback Events PlayerAdded Capabilities: Players Players.PlayerAdded ( player : Player ) : RBXScriptSignal Parameters player : Player Code Samples Players.PlayerAdded local Players = game :GetService( "Players" ) local function onPlayerAdded (player) print ( "A player has entered: " .. player.Name) end Players.PlayerAdded:Connect(onPlayerAdded) Provide feedback PlayerMembershipChanged Capabilities: Players Players.PlayerMembershipChanged ( player : Player ) : RBXScriptSignal Parameters player : Player Code Samples Handling Premium Membership Changes local Players = game :GetService( "Players" ) local function grantPremiumBenefits (player) -- Grant the player access to Premium-only areas, items, or anything you can imagine! print ( "Giving" , player, "premium benefits!" ) end local function playerAdded (player) if player.MembershipType == Enum .MembershipType.Premium then grantPremiumBenefits(player) end end local function playerMembershipChanged (player) print ( "Received event PlayerMembershipChanged. New membership = " .. tostring (player.MembershipType)) if player.MembershipType == Enum .MembershipType.Premium then grantPremiumBenefits(player) end end Players.PlayerAdded:Connect(playerAdded) Players.PlayerMembershipChanged:Connect(playerMembershipChanged) Provide feedback PlayerRemoving Capabilities: Players Players.PlayerRemoving ( player : Player , reason : Enum.PlayerExitReason ) : RBXScriptSignal Parameters player : Player reason : Enum.PlayerExitReason Code Samples Players.PlayerRemoving local Players = game :GetService( "Players" ) local function onPlayerRemoving (player) print ( "A player has left: " .. player.Name) end Players.PlayerRemoving:Connect(onPlayerRemoving) Provide feedback UserSubscriptionStatusChanged Capabilities: Players, Monetization Players.UserSubscriptionStatusChanged ( user : Player , subscriptionId : string ) : RBXScriptSignal Parameters user : Player subscriptionId : string Provide feedback Jump to ▼ Players Summary Properties Methods Events Properties BanningEnabled BubbleChat CharacterAutoLoads ClassicChat LocalPlayer localPlayer MaxPlayers NumPlayers numPlayers PreferredPlayers RespawnTime UseStrafingAnimations Methods BanAsync() Chat() CreateHumanoidModelFromDescription() CreateHumanoidModelFromDescriptionAsync() CreateHumanoidModelFromUserId() CreateHumanoidModelFromUserIdAsync() GetBanHistoryAsync() GetCharacterAppearanceAsync() GetCharacterAppearanceInfoAsync() GetFriendsAsync() GetHumanoidDescriptionFromOutfitId() GetHumanoidDescriptionFromOutfitIdAsync() GetHumanoidDescriptionFromUserId() GetHumanoidDescriptionFromUserIdAsync() GetNameFromUserIdAsync() GetPlayerByUserId() GetPlayerFromCharacter() GetPlayers() getPlayers() GetProfileConfigurationFromUserIdAsync() GetUserIdFromNameAsync() GetUserThumbnailAsync() playerFromCharacter() players() SetChatStyle() TeamChat() UnbanAsync() Events PlayerAdded PlayerMembershipChanged PlayerRemoving UserSubscriptionStatusChanged English Feedback ©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries. Terms · Privacy · Accessibility · Support English