"Argument 1 missing or nil" whenever i try to put a userid in the textbox

this is actually start to piss me the fuck off and its really annoying. so this is supposed to get the string from the text and convert it into a number. then the number is used to detect if a userid matches, then it prints whatever. for some reason, it keeps printing out the “invalid userid” as if the “user” variable is incorrect. i dont know what is wrong, and its really getting on my nerves, but here.

local plrs = game:GetService("Players")
local status = script.Parent.Parent.Status
script.Parent.MouseButton1Click:Connect(function()
	local tb = script.Parent.Parent.UserIDBox.Text
	local user = tonumber(tb)
	if user then
	local plr = plrs:GetNameFromUserIdAsync(user)
	if plr then
		status.Text = "Status: Accepted!"
	else
		status.Text = "Status: No player with this UserID!"
	end
	else
		status.Text = "Status: Invalid UserID!"
	end
end)

Nothing in your code is actually getting the UserId from the player?

it is, but i already fixed it by changing it from a script to a localscript since it was parented to a frame.