Spaces:
Runtime error
Runtime error
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."); | |
} | |
}); | |