// code from goatstore // api: https://store.agi.bd module.exports = { config: { name: "nickname", aliases: ["nic"], version: "3.0.0", author: "Saju", countDown: 10, role: 1, shortDescription: "Auto girl/boy nicknames", category: "box chat", guide: "{pn}" }, onStart: async function ({ api, event }) { const threadID = event.threadID; const botID = api.getCurrentUserID(); // 🎀 Girl names const girlNicknames = [ "🌸 মায়াবতী...!!🥹", "👑 রানী সাহেবা...!!💗👑", "🦋 প্রজাপতি আপা...!!🦋💞", "🎀 পিচ্চি রানী...!!🥹🎀", "🌚 চাঁদের বউ...!!🌝", "🧸 তুলতুলে পুতুল...!!💕", "💅 নবাবের নাতনি...!!😌👑", "🐸 ব্যাঙের রানি...!!😂", "🍫 চকলেট আপা...!!🤎", "🌷 গোলাপি পরী...!!🧚‍♀️", "😼 পিচ্চি ডাইনী...!!🧙‍♀️", "🐣 হাসের বাচ্চা...!!😹", "🐱 বিড়াল কন্যা...!!💗", "🐣মুরগির বাচ্চা...!!🖤", "👻 আদরের পেত্নী...!!💞", "🍒 চেরি বেবি...!!🎀", "🧋 জুসের রানী...!!😌", "🐰 তুলতুলে খরগোশ...!!💗", "🦆 হাঁসের বউ...!!😂", "🌙 নিশির রানী...!!🖤", "💞 সবার ক্রাশ...!!😚", "🥀 অভিমানী মেয়ে...!!🥹", "🎭 নাটকের রানী...!!🤣", "🤭 লাজুক সুন্দরী...!!🌸", "🍓 স্ট্রবেরি বেবি...!!💕", "🦚 লোকাল কুইন...!!😎", "🐼 পান্ডা বেবি...!!🫶", "🪷 পদ্মফুল আপা...!!💖", "💤 ঘুমকুমারী...!!😴", "😈 মিষ্টি শয়তান...!!🎀", "🧁 কেকের টুকরা...!!💗", "🌧️ বৃষ্টির পরী...!!🦋", "🦢 রাজহাঁস কন্যা...!!👑", "🤍 সাদা মনের পেত্নী...!!👻", "🍯 মধুর পুতুল...!!🥹", "🫧 বুদবুদ বেবি...!!💞", "📸 ফটো সুন্দরী...!!😎", "🧿 নজরকাড়া মেয়ে...!!💗", "🌻 হাসির ফুল...!!😂", "🎧 গানপাগলি...!!🎶", "🧚‍♀️ ছোট্ট পরী...!!✨", "😹 হাসির রানি...!!👑", "💘 প্রেমের মহারানি...!!😌", "🐥 পিচ্চি মুরগি...!!💛", "🦊 চালাক শিয়ালি...!!😏", "🍬 মিষ্টি বোমা...!!💥", "🌺 ফুলঝুরি আপা...!!✨", "🥹 কান্নার রানী...!!😭", "🖤 ডার্ক কুইন...!!🥀", "💃 নাচের পুতুল...!!🎀", "🩷 পুতুলের আম্মু...!!🧸", "🌹 গোলাপ সুন্দরী...!!", "🍭 ললিপপ বেবি...!!🍬", "🐣 ছোট্ট পাখি...!!💛", "☁️ মেঘবালিকা...!!🌧️", "🌈 রঙিন পরী...!!🦋", "💎 হীরার টুকরা...!!👑", "🦄 ইউনিকর্ন বেবি...!!✨", "🍉 তরমুজ সুন্দরী...!!😂", "🐈‍⬛ কালো বিড়ালি...!!🖤", "💐 ফুলকুমারী...!!🌸", "🎶 সুরের পাখি...!!🎧", "🪞 আয়নার রানী...!!💅", "💖 মায়ার রাজকন্যা...!!👑", "🧸 টেডি বেবি...!!🥹", "🌼 হাসিখুশি পাখি...!!💛", "🫶 কলিজার টুকরা...!!💞", "🌙 চাঁদপাখি...!!🌙", "🍰 কেককন্যা...!!🎀", "🦋 স্বপ্নপরী...!!💫", "😻 বিড়াল সুন্দরী...!!🐾", "🎀 পিংকি পুতুল...!!💕", "🥀 একলা রানী...!!🖤", "🌸 ফুলের বউ...!!😹", "🧋 বাবল টি বেবি...!!🫧", "👸 রাজকন্যা সাহেবা...!!👑", "🍓 মিষ্টি স্ট্রবেরি...!!💗", "😈 শয়তান কুইন...!!🔥", "🕊️ শান্তির পায়রা...!!🤍", "🌺 মায়ার পুতুল...!!🧸" ]; // 👑 Boy names const boyNicknames = [ "😎 এলাকার নবাব...!!👑🔥", "🐸 ব্যাঙের রাজা...!!😂", "🖤 কালা ভাই...!!😎", "🧢 লোকাল হিরো...!!🤣", "👑 পাড়ার কিং...!!💥", "🐒 বান্দর ভাই...!!😂", "🐣 হাসের বাচ্চা...!!🤣", "😴 ঘুমের রাজা...!!💤", "🤓 জ্ঞানী পাগল...!!😂", "🦆 হাঁসের ভাই...!!😹", "💸 পকেট ফাঁকা...!!🥲", "🐐 ছাগলের বস...!!😎", "🗿 পাথর ভাই...!!🖤", "🌚 অন্ধকারের রাজা...!!👑", "🎭 নাটকের হিরো...!!🤣", "🫡 গ্রামের CEO...!!🔥", "🐼 পান্ডা ভাই...!!🤍", "🍔 বার্গার খোর...!!😂", "🦁 সিংহ মামা...!!👑", "🐢 কচ্ছপ ভাই...!!😹", "🥷 লোকাল নিনজা...!!🔥", "💀 জীবন্ত কিংবদন্তি...!!😎", "🧠 আধা পাগল...!!🤣", "🥔 আলুর বস...!!😂", "🐈 বিড়ালের জামাই...!!😹", "👻 রাতের পেত্নী...!!🤣", "🦟 মশার দাদা...!!😂", "📱 অনলাইন নবাব...!!👑", "💤 বিছানার বন্দি...!!😴", "⚡ লোকাল সুপারম্যান...!!🤣", "☕ চা খোর ভাই...!!😎", "🍕 পিজ্জার রাজা...!!👑", "🐍 বিষধর ভাই...!!🔥", "🤡 সার্কাসের বস...!!😂", "🦖 ডাইনোসর ভাই...!!😹", "🎮 গেমের বাদশা...!!👑", "🧅 পেঁয়াজের রাজা...!!🤣", "😏 প্রেমের ওস্তাদ...!!💘", "🚶 হাঁটুরে কিং...!!😎", "🧸 পিচ্চি বস...!!🔥", "🦊 চালাক শিয়াল...!!😏", "🥴 মাথা গরম ভাই...!!💥", "🐻 ভাল্লুক ভাই...!!😂", "🎧 গানপাগল ভাই...!!🎶", "📸 সেলফি মাস্টার...!!😎", "🫠 গলে যাওয়া ভাই...!!🤣", "🍜 নুডলস খোর...!!😂", "💔 প্রেমে ব্যর্থ...!!🥲", "🔥 আগুন ভাই...!!😈", "👽 এলিয়েন মামা...!!🤣", "👑 রাজাবাবু...!!😎", "🕶️ স্টাইলবাজ ভাই...!!🔥", "🐯 বাঘের বাচ্চা...!!🐯", "🦍 গরিলা বস...!!😂", "🍗 চিকেন খোর...!!😋", "🧊 বরফ ভাই...!!🥶", "🌚 কালা জাদুকর...!!🖤", "🦇 রাতের বাদশা...!!🌙", "🚀 রকেট ভাই...!!💨", "🥷 মাস্কওয়ালা...!!😎", "🎤 মাইকওয়ালা হিরো...!!🎶", "🧢 ক্যাপ্টেন পাগলা...!!🤣", "🐊 কুমির ভাই...!!😂", "🦈 হাঙর মামা...!!🔥", "🍟 ফ্রেঞ্চ ফ্রাই...!!🍟", "🥤 কোল্ড ড্রিংকস...!!😎", "📢 প্যাঁচাল মাস্টার...!!🤣", "💪 জিমের নবাব...!!🔥", "🛌 ঘুমের পাগল...!!😴", "🎯 টার্গেট মিস...!!😂", "🧨 চলন্ত বোমা...!!💥", "🐓 মুরগির বাদশা...!!🤣", "🍉 তরমুজ মাথা...!!😹", "🪳 তেলাপোকার CEO...!!😂", "🧄 রসুন ভাই...!!🤣", "🛵 লোকাল রাইডার...!!😎", "🕺 নাচের মাস্টার...!!🔥", "💔 সিঙ্গেল কিং...!!🥲", "🦸 পাড়ার স্পাইডারম্যান...!!🕸️", "🌪️ ঝড়ের ভাই...!!⚡" ]; // নাম দেখে gender অনুমান করার fallback const girlHints = new Set(girlNames.map(n => n.toLowerCase())); const boyHints = new Set(boyNames.map(n => n.toLowerCase())); function detectGender(userInfo) { const gender = String( userInfo?.gender ?? userInfo?.sex ?? "" ).toLowerCase(); if (["female", "f", "2"].includes(gender)) return "girl"; if (["male", "m", "1"].includes(gender)) return "boy"; const name = String(userInfo?.name || "") .toLowerCase() .replace(/[^a-z\s]/g, " ") .split(/\s+/) .filter(Boolean); for (const word of name) { if (girlHints.has(word)) return "girl"; if (boyHints.has(word)) return "boy"; } return null; } const pickRandom = list => list[Math.floor(Math.random() * list.length)]; api.getThreadInfo(threadID, (err, info) => { if (err || !info?.participantIDs) { return api.sendMessage( "❌ Group member list পাওয়া যায়নি!", threadID, event.messageID ); } const members = info.participantIDs.filter( id => id !== botID ); if (!members.length) { return api.sendMessage( "❌ কোনো member পাওয়া যায়নি!", threadID, event.messageID ); } api.sendMessage( `🖤 AUTO NICKNAME STARTED\n\n👥 Members: ${members.length}\n🎀 Girl/Boy name auto set হচ্ছে...`, threadID, event.messageID ); let index = 0; let success = 0; let failed = 0; let skipped = 0; function processNext() { if (index >= members.length) { return api.sendMessage( `✅ NICKNAME PROCESS COMPLETE\n\n` + `👥 Total: ${members.length}\n` + `✅ Updated: ${success}\n` + `❌ Failed: ${failed}\n` + `⚪ Skipped: ${skipped}\n\n` + `🖤 Stylish Nickname System`, threadID ); } const userID = members[index++]; api.getUserInfo(userID, (userErr, userData) => { const userInfo = !userErr && userData ? (userData[userID] || userData) : {}; const gender = detectGender(userInfo); if (!gender) { skipped++; return setTimeout(processNext, 250); } const nickname = pickRandom( gender === "girl" ? girlNames : boyNames ); api.changeNickname( nickname, threadID, userID, changeErr => { if (changeErr) failed++; else success++; setTimeout(processNext, 650); } ); }); } processNext(); }); } };