mari.js 1.56 KB
const { SlashCommandBuilder } = require('@discordjs/builders');
const { MessageEmbed, MessageActionRow, MessageButton } = require('discord.js');
const axios = require("axios");
const cheerio = require("cheerio");

module.exports = {
	data: new SlashCommandBuilder()
		.setName('마리샵')
		.setDescription('현재 마리샵과 이전, 전전의 마리샵의 정보를 조회합니다.'),
	async execute(interaction) {
		const itemInfo = [];
		var isMaintainence = false;
		await axios.get("https://lostark.game.onstove.com").then(html=>{
			const $ = cheerio.load(html.data);
		})
		const buttonsRow = new MessageActionRow()
				.addComponents(
					new MessageButton()
						.setCustomId("12time_ago")
						.setLabel("전전 마리샵 정보 조회")
						.setStyle("SECONDARY")
				)
				.addComponents(
					new MessageButton()
						.setCustomId("6time_ago")
						.setLabel("이전 마리샵 정보 조회")
						.setStyle("SECONDARY")
				)
				.addComponents(
					new MessageButton()
						.setCustomId("0time_ago")
						.setLabel("현재 마리샵 정보 조회")
						.setStyle("SECONDARY")
				);
		async function getHTML() {
			try {
				return await axios.get("https://lostark.game.onstove.com/Shop#mari");
			} catch (error) {
				console.error(error);
		}
		};
		await getHTML().then(html => {
			const $ = cheerio.load(html.data);
			const bodyList = $("ul.list-items").children("li");
			bodyList.each(function(i, elem) {
			itemInfo[i] = {
				name: $(this).find("span.item-name").text(),
				amount: $(this).find("span.amount").text()};
			});
			return itemInfo;
		});
	},
};