← back to browse
goat command

autotimer

⏰ প্রতি ঘণ্টায় ভিডিওসহ অটো মেসেজ পাঠাবে

0
views
0
likes
0
installs
raw source
const moment = require("moment-timezone");
const axios = require("axios");
const fs = require("fs-extra");
const path = require("path");

module.exports.config = {
    name: "autotimer",
    version: "5.6",
    role: 0,
    author: "𝗔𝗿𝗶𝘆𝗮𝗻 𝗯𝗯'𝘇", // <-- tor nam
    description: "⏰ প্রতি ঘণ্টায় ভিডিওসহ অটো মেসেজ পাঠাবে",
    category: "AutoTime",
    countDown: 4,
};

module.exports.onLoad = async function ({ api }) {
    const timerData = {
        "12:00 AM": { text: "⌚┆এখন রাত ১২টা বাজে❥︎খাউয়া দাউয়া করে নেউ,🍽️🍛", video: "https://files.catbox.moe/8btwbx.mp4" },
        "01:00 AM": { text: "⌚┆এখন রাত ১টা বাজে❥︎সবাই শুয়ে পড়ো,🌌💤", video: "https://files.catbox.moe/9iq1ki.mp4" },
        "02:00 AM": { text: "⌚┆এখন রাত ২টা বাজে❥︎প্রেম না কইরা যাইয়া ঘুমা বেক্কল,😾🌠", video: "https://files.catbox.moe/g9zf5c.mp4" },
        "03:00 AM": { text: "⌚┆এখন রাত ৩টা বাজে❥︎যারা ছ্যাকা খাইছে তারা জেগে আছে,🫠🌃", video: "https://files.catbox.moe/siojtf.mp4" },
        "04:30 AM": { text: `╭━━━〔 🌅 𝐅𝐀𝐉𝐑 • ফজরের সময় 〕━━━╮\n﴾ ﷽ ﴿ اَلصَّلَاةُ خَيْرٌ مِّنَ النَّوْمِ 🤲\nআর কিছুক্ষণ পর ফজরের নামাজের সময় হবে। 🕌\nসবাই অজু করে নামাজের জন্য প্রস্তুতি নিন।\nاللَّهُمَّ اجْعَلْنَا مِنَ الْمُقِيمِينَ لِلصَّلَاةِ\n╰━━━━━━━━━━━━━━━━━━━━╯`, video: "https://files.catbox.moe/ee9khu.mp4" },
        "06:00 AM": { text: "⌚┆এখন সকাল ৬টা বাজে❥︎ঘুম থেকে উঠো সবাই,🌞☕", video: "https://files.catbox.moe/q9rf0f.mp4" },
        "07:00 AM": { text: "⌚┆এখন সকাল ৭টা বাজে❥︎ব্রেকফাস্ট করে নাও,🍞", video: "https://files.catbox.moe/ztnm6a.mp4" },
        "08:00 AM": { text: "⌚┆এখন সকাল ৮টা বাজে❥︎কাজ শুরু করো মন দিয়ে,🌤️✨", video: "https://files.catbox.moe/tb5xef.mp4" },
        "09:00 AM": { text: "⌚┆এখন সকাল ৯টা বাজে❥︎চল কাজে মন দিই!🕘", video: "https://files.catbox.moe/2mi5oo.mp4" },
        "10:00 AM": { text: "⌚┆এখন সকাল ১০টা বাজে❥︎তোমাদের মিস করছি,🌞☀️", video: "https://files.catbox.moe/q2vg9i.mp4" },
        "11:00 AM": { text: "⌚┆এখন সকাল ১টা বাজে❥︎কাজ চালিয়ে যাও!😌", video: "https://files.catbox.moe/zzm2xo.mp4" },
        "12:00 PM": { text: "⌚┆এখন দুপুর ১২টা বাজে❥︎ভালোবাসা জানাও সবাইকে,❤️", video: "https://files.catbox.moe/g8d1av.mp4" },
        "01:00 PM": { text: `╭━━━〔 🕌 𝐙𝐔𝐇𝐑 • যোহরের সময় 〕━━━╮\n﴾ ﷽ ﴿ حَيَّ عَلَى الصَّلَاةِ 🤲\nআর কিছুক্ষণ পর যোহরের নামাজের সময় হবে। 🕌\nসবাই নামাজের জন্য প্রস্তুতি নিন।\nرَبِّ اجْعَلْنِي مُقِيمَ الصَّلَاةِ\n╰━━━━━━━━━━━━━━━━━━━━╯`, video: "https://files.catbox.moe/c5qbek.mp4" },
        "02:00 PM": { text: "⌚┆এখন দুপুর ২টা বাজে❥︎দুপুরের খাবার খেয়েছো তো?🍛🌤️", video: "https://files.catbox.moe/nstu8b.mp4" },
        "03:00 PM": { text: "⌚┆এখন বিকাল ৩টা বাজে❥︎কাজে ফোকাস করো,🧑‍🔧☀️", video: "https://files.catbox.moe/xmrujv.mp4" },
        "04:30 PM": { text: `╭━━━〔 🕌 𝐀𝐒𝐑 • আসরের সময় 〕━━━╮\n﴾ ﷽ ﴿ إِنَّ الصَّلَاةَ كَانَتْ عَلَى الْمُؤْمِنِينَ كِتَابًا مَوْقُوتًا 🤲\nআর কিছুক্ষণ পর আসরের নামাজের সময় হবে। 🕌\nসবাই নামাজের জন্য প্রস্তুতি নিন।\nاللَّهُمَّ تَقَبَّلْ مِنَّا\n╰━━━━━━━━━━━━━━━━━━━━╯`, video: "https://files.catbox.moe/vcgbxq.mp4" },
        "06:30 PM": { text: `╭━━━〔 🌇 𝐌𝐀𝐆𝐇𝐑𝐈𝐁 • মাগরিবের সময় 〕━━━╮\n﴾ ﷽ ﴿ الله أكبر، الله أكبر 🤲\nআর কিছুক্ষণ পর মাগরিবের নামাজের সময় হবে। 🕌\nসবাই অজু করে নামাজের জন্য প্রস্তুতি নিন।\nاللَّهُمَّ تَقَبَّلْ مِنَّا\n╰━━━━━━━━━━━━━━━━━━━━╯`, video: "https://files.catbox.moe/y8pnz7.mp4" },
        "08:00 PM": { text: `╭━━━〔 🌙 𝐈𝐒𝐇𝐀 • এশার সময় 〕━━━╮\n﴾ ﷽ ﴿ بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِيمِ 🤲\nআর কিছুক্ষণ পর এশার নামাজের সময় হবে। 🕌\nসবাই নামাজের জন্য প্রস্তুতি নিন।\nآمِين يَا رَبَّ الْعَالَمِينَ\n╰━━━━━━━━━━━━╯`, video: "https://files.catbox.moe/rpnut9.mp4" },
        "09:00 PM": { text: "⌚┆এখন রাত ৯টা বাজে❥︎ঘুমের প্রস্তুতি নাও,😴🌙", video: "https://files.catbox.moe/sxs5io.mp4" },
        "10:00 PM": { text: "⌚┆এখন রাত ১০টা বাজে❥︎ঘুমাতে যাও, স্বপ্নে দেখা হবে,😴🙂↕️", video: "https://files.catbox.moe/0e4s7h.mp4" },
        "11:00 PM": { text: "⌚┆এখন রাত ১১টা বাজে❥︎ভালোবাসা রইলো,🥰🌌", video: "https://files.catbox.moe/ndbhtu.mp4" }
    };

    const cacheDir = path.join(__dirname, "cache");
    if (!fs.existsSync(cacheDir)) fs.ensureDirSync(cacheDir);

    if (!global.__sentMap) global.__sentMap = {};
    if (!global.autoTimerConfig) global.autoTimerConfig = {};

    const checkTimeAndSend = async () => {
        try {
            const now = moment().tz("Asia/Dhaka").format("hh:mm A");
            if (!timerData[now]) return;

            const todayDate = moment().tz("Asia/Dhaka").format("DD-MM-YYYY");
            const key = `${todayDate}_${now}`;
            if (global.__sentMap[key]) return;
            global.__sentMap[key] = true;

            const { text, video } = timerData[now];
            const videoName = now.replace(/[: ]/g, "_") + ".mp4";
            const videoPath = path.join(cacheDir, videoName);

            if (!fs.existsSync(videoPath)) {
                try {
                    console.log(`[AUTOTIMER] Downloading video for ${now}...`);
                    const res = await axios.get(video, { responseType: "arraybuffer" });
                    fs.writeFileSync(videoPath, Buffer.from(res.data));
                } catch (e) {
                    console.error("Video download error:", e);
                    return;
                }
            }

            // সব গ্রুপে পাঠানো
            const allThreads = await api.getThreadList(100, null, ["INBOX"]);
            for (const thread of allThreads) {
                if (thread.isGroup && global.autoTimerConfig[thread.threadID]!== false) {
                    try {
                        await api.sendMessage({
                            body: text,
                            attachment: fs.createReadStream(videoPath)
                        }, thread.threadID);
                        await new Promise(r => setTimeout(r, 2000));
                    } catch (e) {
                        console.error("Send error:", e);
                    }
                }
            }
            console.log(`[AUTOTIMER] Sent message for ${now}`);

        } catch (err) {
            console.error("AutoTimer Error:", err);
        }
    };

    // প্রতি 30 সেকেন্ডে চেক করবে
    setInterval(checkTimeAndSend, 30000);
    console.log("[AUTOTIMER] AutoTimer Loaded Successfully by 𝗔𝗿𝗶𝘆𝗮𝗻 𝗯𝗯'𝘇");
};

module.exports.onStart = async function ({ api, event, args }) {
    const tid = event.threadID;
    if (!global.autoTimerConfig) global.autoTimerConfig = {};

    if (args[0] === "on") {
        global.autoTimerConfig[tid] = true;
        return api.sendMessage("✅ AutoTimer ON for this group", tid);
    }
    if (args[0] === "off") {
        global.autoTimerConfig[tid] = false;
        return api.sendMessage("❌ AutoTimer OFF for this group", tid);
    }
    return api.sendMessage("Use: autotimer on / autotimer off", tid);
};

View raw file