/* 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;