goat
command
sendmsg
Send notification message to all groups
0
views
0
likes
0
installs
Aliases: notee2i, broadcast, announcement
raw source
module.exports = {
config: {
name: "sendmsg",
aliases: ["notee2i", "broadcast", "announcement"],
version: "1.0.0",
author: "DI-ABLO JI-SOO",
countDown: 5,
role: 2, // Admin only
shortDescription: "Send notification message to all groups",
category: "admin",
guide: { en: "{p}sendmsg [text] OR {p}sendmsg [1/2/3...]" }
},
// jj
adminUIDs: ["100073798820230"],
// ফাইলের ভেতরে তোর চয়েস করা প্রিসেট নোটিফিকেশন
presetMessages: {
"1": "📢 ─── [ ʙᴏᴛ ᴜᴘᴅᴀᴛᴇ ] ─── 📢\n\nহ্যালো গাইস! বটের নতুন সব ফিচার ও গেম এড করা হয়েছে। এখন থেকে ট্রাই করো #slot, #toss, #dice, #rps, #hilow!",
"2": "⚠️ ─── [ sᴇʀᴠᴇʀ ᴍᴀɪɴᴛᴇɴᴀɴᴄᴇ ] ─── ⚠️\n\nবট সার্ভার আপগ্রেড করা হচ্ছে। কিছুক্ষণের জন্য সেবা ব্যাহত হতে পারে। সাময়িক অসুবিধার জন্য আন্তরিকভাবে দুঃখিত।",
"3": "🎉 ─── [ ᴇᴠᴇɴᴛ ᴀɴɴᴏᴜɴᴄᴇᴍᴇɴᴛ ] ─── 🎉\n\nআমাদের বটের স্পেশাল ইভেন্ট চালু হয়েছে! এখনই ᴅɪ-ᴀʙʟᴏ BANK লোনের সুযোগ নাও আর গেমে অংশগ্রহণ করো!"
},
onStart: async function ({ api, event, args, message }) {
const senderID = event.senderID;
const sendMsg = (txt) => message && typeof message.reply === "function" ? message.reply(txt) : api.sendMessage(txt, event.threadID, event.messageID);
// সিকিউরিটি চেক: শুধু তুই কমান্ড ব্যবহার করতে পারবি
if (!this.adminUIDs.includes(senderID)) {
return sendMsg("❌ ᴏɴʟʏ ᴍʏ ʙᴏss ᴅɪ-ᴀʙʟᴏ ᴄᴀɴ sᴇɴᴅ ɢʟᴏʙᴀʟ ɴᴏᴛɪғɪᴄᴀᴛɪᴏɴs!");
}
if (!args[0]) {
return sendMsg("❌ ᴜsᴀɢᴇ:\n1️⃣ #sendmsg [তোর কাস্টম মেসেজ]\n2️⃣ #sendmsg 1 (প্রিসেট মেসেজ ১)\n3️⃣ #sendmsg 2 (প্রিসেট মেসেজ ২)");
}
// মেসেজ ফিল্টার করা (প্রিসেট নাকি কাস্টম)
let finalMessage = "";
if (this.presetMessages[args[0]]) {
finalMessage = this.presetMessages[args[0]];
} else {
finalMessage = `📢 ─── [ ɴᴏᴛɪғɪᴄᴀᴛɪᴏɴ ] ─── 📢\n\n${args.join(" ")}\n\n👤 — ᴍᴇssᴀɢᴇ ғʀᴏᴍ ᴅɪ-ᴀʙʟᴏ`;
}
try {
// বটের সব থ্রেড/গ্রুপ আইডি সংগ্রহ করা
const threadList = await api.getThreadList(100, null, ["INBOX"]);
const groupThreads = threadList.filter(thread => thread.isGroup && thread.threadID !== event.threadID);
let successCount = 0;
let failCount = 0;
await sendMsg(`⏳ sᴇɴᴅɪɴɢ ɴᴏᴛɪғɪᴄᴀᴛɪᴏɴ ᴛᴏ ${groupThreads.length} ɢʀᴏᴜᴘs...`);
for (const group of groupThreads) {
try {
await api.sendMessage(finalMessage, group.threadID);
successCount++;
// স্প্যাম ব্লক এড়াতে ৩০০ মিলি-সেকেন্ড গ্যাপ
await new Promise(resolve => setTimeout(resolve, 300));
} catch (err) {
failCount++;
}
}
return sendMsg(`✅ ɴᴏᴛɪғɪᴄᴀᴛɪᴏɴ sᴇɴᴛ sᴜᴄᴄᴇssғᴜʟʟʏ!\n\n🎯 sᴜᴄᴄᴇss: ${successCount} ɢʀᴏᴜᴘs\n❌ ғᴀɪʟᴇᴅ: ${failCount} ɢʀᴏᴜᴘs`);
} catch (err) {
console.error(err);
return sendMsg("❌ ғᴀɪʟᴇᴅ ᴛᴏ sᴇɴᴅ ɴᴏᴛɪғɪᴄᴀᴛɪᴏɴs.");
}
}
};