@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
JavaScript
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:
/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,
};