Spaces:
Paused
Paused
| const axios = require('axios') | |
| const fetch = require('node-fetch'); | |
| const {cmd , commands} = require('../command') | |
| // ship command | |
| const toM = (a) => '@' + a.split('@')[0]; | |
| cmd({ | |
| pattern: "ship", | |
| alias: ["cup", "love"], | |
| desc: "Randomly pairs the command user with another group member.", | |
| react: "❤️", | |
| category: "fun", | |
| filename: __filename, | |
| }, | |
| async (conn, mek, m, { from, isGroup, groupMetadata, reply }) => { | |
| try { | |
| // Ensure command is used in a group | |
| if (!isGroup) { | |
| return reply("This command can only be used in groups."); | |
| } | |
| // Get group participants | |
| const participants = groupMetadata.participants.map(p => p.id); | |
| if (participants.length < 2) { | |
| return reply("Not enough members to pair."); | |
| } | |
| // Sender of the command | |
| const sender = m.sender; | |
| // Randomly select another participant | |
| let randomParticipant; | |
| do { | |
| randomParticipant = participants[Math.floor(Math.random() * participants.length)]; | |
| } while (randomParticipant === sender); | |
| // Pairing message | |
| const message = `${toM(sender)} ❤️ ${toM(randomParticipant)}\nCongratulations 💖🍻`; | |
| // Send the message with contextInfo | |
| await conn.sendMessage(from, { | |
| text: message, | |
| contextInfo: { | |
| mentionedJid: [sender, randomParticipant], // Mention both users | |
| forwardingScore: 999, | |
| isForwarded: true, | |
| forwardedNewsletterMessageInfo: { | |
| newsletterJid: '120363304325601080@newsletter', | |
| newsletterName: 'SubZero Bot', | |
| serverMessageId: 143, | |
| }, | |
| }, | |
| }); | |
| } catch (e) { | |
| console.error("Error in ship command:", e); | |
| reply("An error occurred while processing the command. Please try again."); | |
| } | |
| }); | |
| // Insult | |
| cmd({ | |
| pattern: 'insult', | |
| desc: 'Get a random insult', | |
| category: "fun", | |
| react: '🤥', | |
| }, | |
| async (Void, citel) => { | |
| try { | |
| let response = await axios.get('https://evilinsult.com/generate_insult.php?lang=en&type=json'); | |
| let data = response.data; | |
| if (!data || !data.insult) { | |
| return citel.reply('Unable to retrieve an insult. Please try again later.'); | |
| } | |
| let insult = data.insult; | |
| return citel.reply(`*Insult:* ${insult}`); | |
| } catch (error) { | |
| citel.reply(`Error: ${error.message || error}`); | |
| } | |
| }); | |
| // joke | |
| cmd({ | |
| pattern: "joke", | |
| desc: "😂 Get a random joke", | |
| react: "🤣", | |
| category: "fun", | |
| filename: __filename | |
| }, | |
| async (conn, mek, m, { from, q, reply }) => { | |
| try { | |
| const url = 'https://official-joke-api.appspot.com/random_joke'; // API for random jokes | |
| const response = await axios.get(url); | |
| const joke = response.data; | |
| const jokeMessage = ` | |
| 😂 *Here's a random joke for you!* 😂 | |
| *${joke.setup}* | |
| ${joke.punchline} 😄 | |
| > *© ᴘᴏᴡᴇʀᴇᴅ ʙʏ Jᴀᴡᴀᴅ TᴇᴄʜX*`; | |
| return reply(jokeMessage); | |
| } catch (e) { | |
| console.log(e); | |
| return reply("⚠️ En Error Appears."); | |
| } | |
| }); | |
| // fact | |
| cmd({ | |
| pattern: "fact", | |
| desc: "🧠 Get a random fun fact", | |
| react: "🧠", | |
| category: "fun", | |
| filename: __filename | |
| }, | |
| async (conn, mek, m, { from, q, reply }) => { | |
| try { | |
| const url = 'https://uselessfacts.jsph.pl/random.json?language=en'; // API for random facts | |
| const response = await axios.get(url); | |
| const fact = response.data.text; | |
| const funFact = ` | |
| 🧠 *SubZero Random Fun Fact* 🧠 | |
| ${fact} | |
| Isn't that interesting? 😄 | |
| `; | |
| return reply(funFact); | |
| } catch (e) { | |
| console.log(e); | |
| return reply("⚠️ An error occurred while fetching a fun fact. Please try again later."); | |
| } | |
| }); | |
| // fancy | |
| cmd({ | |
| pattern: "fancy", | |
| alias: ['font', "style"], | |
| react: '✍️', | |
| desc: "Convert text into various fonts.", | |
| category: "tools", | |
| filename: __filename | |
| }, async (conn, mek, m, { from, quoted, body, args, q, reply }) => { | |
| try { | |
| if (!q) { | |
| return reply("Please provide text to convert into fonts. Eg .fancy Mr Frank"); | |
| } | |
| let response = await axios.get('https://www.dark-yasiya-api.site/other/font?text=' + encodeURIComponent(q)); | |
| let data = response.data; | |
| if (!data.status) { | |
| return reply("Error fetching fonts. Please try again later."); | |
| } | |
| let fontResults = data.result.map(font => '*' + font.name + ":*\n" + font.result).join("\n\n"); | |
| // Message formatting | |
| let message = `*SUBZERO FANCY FONTS*:\n\n${fontResults}\n\n> *© Gᴇɴᴇʀᴀᴛᴇᴅ Bʏ SᴜʙZᴇʀᴏ*`; | |
| // Sending the message with context info | |
| await conn.sendMessage( | |
| from, | |
| { | |
| text: message, | |
| contextInfo: { | |
| mentionedJid: [m.sender], | |
| forwardingScore: 999, | |
| isForwarded: true, | |
| forwardedNewsletterMessageInfo: { | |
| newsletterJid: '120363304325601080@newsletter', | |
| newsletterName: 'ᴍʀ ғʀᴀɴᴋ ᴏғᴄ', | |
| serverMessageId: 143 | |
| } | |
| } | |
| }, | |
| { quoted: mek } | |
| ); | |
| } catch (error) { | |
| console.error(error); | |
| reply("An error occurred while fetching fonts."); | |
| } | |
| }); | |
| // pick-up line | |
| cmd({ | |
| pattern: "pickupline", | |
| alias: ["pickup"], | |
| desc: "Get a random pickup line from the API.", | |
| react: "💬", | |
| category: "fun", | |
| filename: __filename, | |
| }, | |
| async (conn, mek, m, { from, reply }) => { | |
| try { | |
| // Fetch pickup line from the API | |
| const res = await fetch('https://api.popcat.xyz/pickuplines'); | |
| if (!res.ok) { | |
| throw new Error(`API request failed with status ${res.status}`); | |
| } | |
| const json = await res.json(); | |
| // Log the API response (for debugging purposes) | |
| console.log('JSON response:', json); | |
| // Format the pickup line message | |
| const pickupLine = `*Here's a pickup line for you:*\n\n"${json.pickupline}"\n\n> *© Dropped By Mr Frank OFC*`; | |
| // Send the pickup line to the chat | |
| await conn.sendMessage(from, { text: pickupLine }, { quoted: m }); | |
| } catch (error) { | |
| console.error("Error in pickupline command:", error); | |
| reply("Sorry, something went wrong while fetching the pickup line. Please try again later."); | |
| } | |
| }); | |
| // char | |
| cmd({ | |
| pattern: "character", | |
| alias: ["char"], | |
| desc: "Check the character of a mentioned user.", | |
| react: "🔥", | |
| category: "fun", | |
| filename: __filename, | |
| }, | |
| async (conn, mek, m, { from, isGroup, text, reply }) => { | |
| try { | |
| // Ensure the command is used in a group | |
| if (!isGroup) { | |
| return reply("This command can only be used in groups."); | |
| } | |
| // Extract the mentioned user | |
| const mentionedUser = m.message.extendedTextMessage?.contextInfo?.mentionedJid?.[0]; | |
| if (!mentionedUser) { | |
| return reply("Please mention a user whose character you want to check."); | |
| } | |
| // Define character traits | |
| const userChar = [ | |
| "Sigma", | |
| "Generous", | |
| "Grumpy", | |
| "Overconfident", | |
| "Obedient", | |
| "Good", | |
| "Simp", | |
| "Kind", | |
| "Patient", | |
| "Pervert", | |
| "Cool", | |
| "Helpful", | |
| "Brilliant", | |
| "Sexy", | |
| "Hot", | |
| "Gorgeous", | |
| "Cute", | |
| ]; | |
| // Randomly select a character trait | |
| const userCharacterSelection = | |
| userChar[Math.floor(Math.random() * userChar.length)]; | |
| // Message to send | |
| const message = `Character of @${mentionedUser.split("@")[0]} is *${userCharacterSelection}* 🔥⚡`; | |
| // Send the message with mentions | |
| await conn.sendMessage(from, { | |
| text: message, | |
| mentions: [mentionedUser], | |
| }, { quoted: m }); | |
| } catch (e) { | |
| console.error("Error in character command:", e); | |
| reply("An error occurred while processing the command. Please try again."); | |
| } | |
| }); | |
| // Truth command | |
| cmd({ | |
| pattern: "truth", | |
| alias: ["t", "truthquestion"], | |
| react: '❔', | |
| desc: "Get a random truth question.", | |
| category: "fun", | |
| use: '.truth', | |
| filename: __filename | |
| }, | |
| async (conn, mek, m, { from, args, reply }) => { | |
| try { | |
| // Inform the user | |
| reply("*🔍 Fetching a truth question...*"); | |
| // API URL for truth | |
| const truthApiUrl = `https://api.davidcyriltech.my.id/truth`; | |
| // Fetch truth question from the API | |
| const truthResponse = await axios.get(truthApiUrl); | |
| if (!truthResponse.data || !truthResponse.data.success) { | |
| return reply("❌ Failed to fetch a truth question. Please try again later."); | |
| } | |
| // Extract truth question | |
| const truthQuestion = truthResponse.data.question; | |
| if (truthQuestion) { | |
| reply(`*Truth Question:* ${truthQuestion}`); | |
| } | |
| } catch (e) { | |
| console.error(e); | |
| reply("❌ An error occurred while fetching the truth question."); | |
| } | |
| }); | |
| // Dare command | |
| cmd({ | |
| pattern: "dare", | |
| alias: ["d", "darequestion"], | |
| react: '🔥', | |
| desc: "Get a random dare question.", | |
| category: "fun", | |
| use: '.dare', | |
| filename: __filename | |
| }, | |
| async (conn, mek, m, { from, args, reply }) => { | |
| try { | |
| // Inform the user | |
| reply("*🔥 Fetching a dare question...*"); | |
| // API URL for dare | |
| const dareApiUrl = `https://api.davidcyriltech.my.id/dare`; | |
| // Fetch dare question from the API | |
| const dareResponse = await axios.get(dareApiUrl); | |
| if (!dareResponse.data || !dareResponse.data.success) { | |
| return reply("❌ Failed to fetch a dare question. Please try again later."); | |
| } | |
| // Extract dare question | |
| const dareQuestion = dareResponse.data.question; | |
| if (dareQuestion) { | |
| reply(`*Dare:* ${dareQuestion}`); | |
| } | |
| } catch (e) { | |
| console.error(e); | |
| reply("❌ An error occurred while fetching the dare question."); | |
| } | |
| }); | |