osu-disambiguate
Version:
Best-effort disambiguation of osu! usernames into IDs
28 lines (27 loc) • 1.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getUserByName = void 0;
const https_1 = require("https");
function getUserByName(name, apiKey) {
const url = `https://osu.ppy.sh/api/get_user?k=${apiKey}&type=string&u=${name}`;
return new Promise((resolve, reject) => {
const request = (0, https_1.get)(url, (response) => {
let data = '';
response.on('data', (chunk) => (data += chunk));
response.on('end', () => {
const result = JSON.parse(data);
if (result.length === 0) {
return resolve(null);
}
resolve({
country: result[0].country,
id: parseInt(result[0].user_id, 10),
joinDate: result[0].join_date,
name: result[0].username,
});
});
});
request.on('error', (error) => reject(error.message));
});
}
exports.getUserByName = getUserByName;