PUBG Mobile
by โ๏ธ
14
Raw
/*
Api Stalk Nickname Menggunakan https://ceknickname.my.id
Silahkan Melakukan pendaftaran Terlebih Dahulu
Selanjutnya Hubungi Admin Sertakan Username Yang Terdaftar
*/
const fetch = require('node-fetch');
const config = {
domains: {
primary: "https://ceknickname.my.id",
fallback: "https://ceknickname.vercel.app"
},
apis: {
PUBGmobile: {
default: "pubg-mobile-dg",
alternatives: ["fpubg-mobile-tp", "pubg-mobile-vc", "pubg-mobile-global-vc"]
}
},
auth: {
// dapatkan apikey dan username di https://ceknickname.my.id
apiKey: global.apiKey, //"your-apikey",
username: global.username //"your-username"
}
};
// ====================================
async function fetchWithFallback(game, params, usePrimaryDomain = true, apiIndex = -1) {
if (!config.apis[game]) {
return {
code: 400,
status: "false",
message: `Game ${game} tidak didukung`
};
}
const domain = usePrimaryDomain ? config.domains.primary : config.domains.fallback;
let apiEndpoint;
if (apiIndex === -1) {
apiEndpoint = config.apis[game].default;
} else if (apiIndex < config.apis[game].alternatives.length) {
apiEndpoint = config.apis[game].alternatives[apiIndex];
} else {
if (usePrimaryDomain) {
return fetchWithFallback(game, params, false, -1);
} else {
return {
code: 503,
status: "false",
message: "Semua API tidak tersedia saat ini"
};
}
}
const queryString = Object.keys(params)
.map(key => `${key}=${params[key]}`)
.join('&');
const url = `${domain}/api/game/${apiEndpoint}?${queryString}`;
try {
const response = await fetch(url, {
method: 'GET',
headers: {
'x-api-key': config.auth.apiKey,
'x-username': config.auth.username
}
});
const data = await response.json();
if (response.ok && data.status !== "false") {
return data;
} else {
return fetchWithFallback(game, params, usePrimaryDomain, apiIndex + 1);
}
} catch (error) {
if (usePrimaryDomain) {
return fetchWithFallback(game, params, false, -1);
} else if (apiIndex < config.apis[game].alternatives.length - 1) {
return fetchWithFallback(game, params, false, apiIndex + 1);
} else {
return {
code: 500,
status: "false",
message: "Internal Server Error"
};
}
}
}
// ====================================
exports.stalkpubg = async (userId) => {
return new Promise(async (resolve) => {
if (!userId) {
return resolve({
code: 400,
status: "false",
message: "Format Salah! Silakan isi ID"
});
}
try {
const result = await fetchWithFallback('PUBGmobile', { id: userId });
if (result.code === 404 || result.status === "false") {
resolve({
code: 404,
status: "false",
creator: "ceknickname.vercel.app",
message: "ID tidak ditemukan"
});
} else {
resolve({
code: 200,
status: "true",
creator: "ceknickname.vercel.app",
message: "ID berhasil ditemukan",
data: {
username: result.data.username,
user_id: userId
}
});
}
} catch (error) {
console.error('Error in stalkpubg:', error);
resolve({
code: 500,
status: "false",
message: "Internal Server Error"
});
}
});
};
// ====================================
// Example usage in switch case
case "stalkpubg": {
if (!text) {
return m.reply(`Example : stalkpubg 12345678`);
}
const { stalkpubg } = require('./lib/stalkpubg')
const userId = text.trim();
let xst = "`";
try {
const data = await stalkpubg(userId);
if (data.code === 200) {
m.reply(`๐ ${xst}PUBG Mobile${xst} ๐\n
*ยป Nickname :* ${data.data.username}
*ยป userId :* ${data.data.user_id}\n`);
} else {
m.reply(`Maaf, Tidak dapat menemukan nickname.`);
}
} catch (error) {
console.error('Error in stalkpubg command:', error);
m.reply("Terjadi kesalahan saat memproses permintaan");
}
}
break;