const axios = require("axios"); module.exports = { config: { name: "islamicquiz", aliases: ["iquiz", "iqz"], version: "6.1", author: "xalman", countDown: 5, role: 0, description: "Play Islamic quiz with rewards", category: "GAMES", guide: "{pn} | {pn} list" }, onStart: async function ({ event, message, args, api }) { const { senderID } = event; const BASE_URL = "https://xalman-apis.vercel.app/api/iquiz"; if (args[0] === "list" || args[0] === "total") { try { const res = await axios.get(BASE_URL); return message.reply( `RMISLAMIC QUIZ ━━━━━━━━━━━━━━━━━━ 📚 Total Questions: ${res.data.total_questions} 👤 Author: ${res.data.author} 📡 Status: Active` ); } catch (e) { return message.reply("❌ Failed to fetch quiz info."); } } try { const res = await axios.get(BASE_URL); const quiz = res.data; if (!quiz.status) return message.reply("❌ API Error."); const labels = ["🅐", "🅑", "🅒", "🅓"]; let optionsText = ""; quiz.options.forEach((opt, index) => { optionsText += `${labels[index]} ${opt}\n`; }); const msgText = `🕌 ISLAMIC QUIZ 🕌 ━━━━━━━━━━━━━━━━━━ ❓ ${quiz.question} ${optionsText} ━━━━━━━━━━━━━━━━━━ ⏳ Time: 60 seconds 🤲 Answer correctly and earn rewards!`; return message.reply(msgText, (err, info) => { if (err) return; global.GoatBot.onReply.set(info.messageID, { commandName: this.config.name, messageID: info.messageID, author: senderID, correctAnswer: quiz.answer, correctText: quiz.correct_text }); setTimeout(() => { if (global.GoatBot.onReply.has(info.messageID)) { api.unsendMessage(info.messageID); global.GoatBot.onReply.delete(info.messageID); } }, 60000); }); } catch (e) { return message.reply("❌ Server Error."); } }, onReply: async function ({ event, Reply, message, usersData, api }) { const { senderID, body } = event; if (senderID !== Reply.author) { return message.reply("❌ This is not your quiz!"); } let userAnswer = body.trim().toUpperCase(); const mapping = { "🅐": "A", "🅑": "B", "🅒": "C", "🅓": "D" }; if (mapping[userAnswer]) userAnswer = mapping[userAnswer]; const validOptions = ["A", "B", "C", "D"]; if (!validOptions.includes(userAnswer)) return; try { let resultMsg = ""; if (userAnswer === Reply.correctAnswer) { const reward = 500; const userData = await usersData.get(senderID); const currentMoney = parseInt(userData.money || 0); await usersData.set(senderID, { money: currentMoney + reward }); resultMsg = `✅ MashaAllah! Correct Answer ━━━━━━━━━━━━━━━━━━ 📖 ${Reply.correctText} 💰 Reward: +$${reward}`; } else { resultMsg = `❌ Wrong Answer ━━━━━━━━━━━━━━━━━━ ✔️ Correct Answer: ${Reply.correctAnswer}. ${Reply.correctText}`; } message.reply(resultMsg, (err, info) => { if (err) return; setTimeout(() => { api.unsendMessage(info.messageID); api.unsendMessage(Reply.messageID); }, 10000); }); global.GoatBot.onReply.delete(Reply.messageID); } catch (e) { return message.reply("❌ Processing Error."); } } };