Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

How does Username-To-ID Work? (How to get the ID into a script) [Done]

Asked by 8 years ago

I have found a user-to-ID API. I do not know how to get the ID from it though. The code is as follows.

if (string.find(msg, "!promote") == 1) then --- msg starts with "!promote"
        -- words and numbers
        for word in msg:gmatch("%w+") do 
            if word ~= "!promote" then
                local p = matchPlayer(word)
                userid = game.HttpService:GetAsync("http://api.roblox.com/users/get-by-username?username="..p)

                if p ~= nil then
                    promouser(userid,GROUPID,RANKID)
                end
            end
        end
end

This is what the API would show for my username.

{"Id":39234598,"Username":"Smaltin", "AvatarUri":null,"AvatarFinal":false,"IsOnline":false}

Any help? Thanks!

0
You do not need to do this, you could just use game.Players:GetUserIdFromUsernameAsync() and vice versa TheDeadlyPanther 2460 — 8y
0
Ok. Could you put a snippet of code, since I am not advanced with this stuff yet? Akward12345 0 — 8y
0
He did: game.Players:GetUserIdFromUsernameAsync() JamesLWalker 297 — 8y

1 answer

Log in to vote
2
Answered by 8 years ago

One way of doing it is using a web API as you have there. But the simpler way of doing this is game.Players:GetUserIdFromNameAsync(p) with p being the player's name as a string. The reverse of this would be game.Players:GetNameFromUserIdAsync(p), again with p being the player's name as a string. With this put into your code it would be:

if (string.find(msg, "!promote") == 1) then --- msg starts with "!promote"
        -- words and numbers
        for word in msg:gmatch("%w+") do 
            if word ~= "!promote" then
                local p = matchPlayer(word) -- This returns a string?
                if p ~= nil then
                    userid = game.Players:GetUserIdFromNameAsync(p) -- Put here so doesn't error is p is nil
                    promouser(userid,GROUPID,RANKID)
                end
            end
        end
end
Ad

Answer this question