UNPKG

@jkt48connect-corp/sdk

Version:

CLI dan modul untuk mengakses data dari API JKT48Connect, termasuk data member, teater, event, pembayaran, dan lainnya.

160 lines (150 loc) 5.66 kB
#!/usr/bin/env node const checkApiKey = require("./modules/checkApiKey"); const { getTheater, getTheaterDetail } = require("./modules/jkt48-theater"); const { getEvents, getEventDetail } = require("./modules/jkt48-events"); const { getMemberDetail, getAllMembers, getBirthdayMembers} = require("./modules/jkt48-member"); const { getLive, getRecentLive, getIdn, getShowroom, getDetailRecentLive } = require("./modules/jkt48-live"); const { createPayment, checkPaymentStatus } = require("./modules/payment"); const { getNews, getNewsDetail } = require("./modules/jkt48-news"); const { getBrat } = require("./modules/brat"); const { downloadTiktok } = require("./modules/downloader"); const { Pinterest } = require("./modules/pinterest"); const { getYoutube, getReplay } = require("./modules/jkt48-youtube"); if (require.main === module) { const args = process.argv.slice(2); const command = args[0]; const apiKey = args[1]; const id = args[2]; if (!command || !apiKey) { console.log(` Usage: <command> <api_key> [additional_params] Commands: check, theater, events, eventDetail, theaterDetail, memberDetail, recentDetail, Birthday, Brat, Tiktok, allMembers, live, IdnLive, ShowroomLive, recentLive, createPayment, checkPaymentStatus, news, newsDetail, Youtube, replayYoutube, Pinterest For detailed documentation, please visit: https://docs.jkt48connect.my.id For more features and the latest updates, please use the newest module version: @jkt48/core This new version includes the Growagarden feature and many more JKT48 features. `); process.exit(1); } switch (command) { case "check": checkApiKey(apiKey).then((data) => console.log(data)).catch(console.error); break; case "theater": getTheater(apiKey).then((data) => console.log(data)).catch(console.error); break; case "events": getEvents(apiKey).then((data) => console.log(data)).catch(console.error); break; case "eventDetail": if (!id) return console.error("Error: Event ID is required for eventDetail."); getEventDetail(apiKey, id).then((data) => console.log(data)).catch(console.error); break; case "theaterDetail": if (!id) return console.error("Error: Theater ID is required for theaterDetail."); getTheaterDetail(apiKey, id).then((data) => console.log(data)).catch(console.error); break; case "memberDetail": if (!id) return console.error("Error: Member ID is required for memberDetail."); getMemberDetail(apiKey, id).then((data) => console.log(data)).catch(console.error); break; case "allMembers": getAllMembers(apiKey).then((data) => console.log(data)).catch(console.error); break; case "live": getLive(apiKey).then((data) => console.log(data)).catch(console.error); break; case "recentLive": getRecentLive(apiKey).then((data) => console.log(data)).catch(console.error); break; case "IdnLive": getIdn(apiKey).then((data) => console.log(data)).catch(console.error); break; case "recentDetail": if (!id) return console.error("Error: Data ID is required for recentDetail."); getDetailRecentLive(data_id, apiKey).then((data) => console.log(data)).catch(console.error); break; case "ShowroomLive": getShowroom(apiKey).then((data) => console.log(data)).catch(console.error); break; case "YouTube": getYoutube(apiKey).then((data) => console.log(data)).catch(console.error); break; case "replayYoutube": getReplay(apiKey).then((data) => console.log(data)).catch(console.error); break; case "Birthday": getBirthdayMembers(apiKey).then((data) => console.log(data)).catch(console.error); break; case "createPayment": const amount = args[2]; const qris = args[3]; if (!amount || !qris) return console.error("Error: Amount and QR Code are required for createPayment."); createPayment(apiKey, amount, qris); break; case "Brat": const text = args[2]; if (!text) return console.error("Error: text are required for brat."); getBrat(apiKey, text); break; case "Pinterest": const query = args[2]; if (!text) return console.error("Error: quary are required for pinterest."); Pinterest(apiKey, query); break; case "Tiktok": const url = args[2]; if (!url) return console.error("Error: url are required for Tiktok downloader."); getBrat(apiKey, url); break; case "checkPaymentStatus": const merchantId = args[2]; const keyOrkut = args[3]; if (!merchantId || !keyOrkut) return console.error("Error: Merchant ID and Key Orkut are required for checkPaymentStatus."); checkPaymentStatus(apiKey, merchantId, keyOrkut); break; case "news": getNews(apiKey).then((data) => console.log(data)).catch(console.error); break; case "newsDetail": if (!id) return console.error("Error: News ID is required for newsDetail."); getNewsDetail(apiKey, id).then((data) => console.log(data)).catch(console.error); break; default: console.error("Error: Invalid command."); } } // Ekspor semua fungsi sebagai modul module.exports = { checkApiKey, getTheater, getTheaterDetail, getEvents, getEventDetail, getMemberDetail, getAllMembers, getLive, getRecentLive, createPayment, checkPaymentStatus, getNews, getNewsDetail, getBrat, getBirthdayMembers, downloadTiktok, getIdn, getShowroom, Pinterest, getYoutube, getDetailRecentLive, getReplay, };