← back to browse
goat event

autosave

প্রতিটা মেসেজে ইউজার ডেটা (ব্যালেন্স, বেট কাউন্ট, মেসেজ কাউন্ট) অটোমেটিক সেভ ও আপডেট করে

0
views
0
likes
0
installs
raw source
module.exports = {
	config: {
		name: "autosave",
		version: "1.0",
		author: "You",
		category: "events",
		description: "প্রতিটা মেসেজে ইউজার ডেটা (ব্যালেন্স, বেট কাউন্ট, মেসেজ কাউন্ট) অটোমেটিক সেভ ও আপডেট করে"
	},

	onChat: async function ({ event, usersData, api }) {
		try {
			if (!event.senderID) return;

			const userData = await usersData.get(event.senderID);

			// নতুন ইউজার হলে ডিফল্ট ভ্যালু দিয়ে শুরু করা
			const currentMoney = Number(userData?.money) || 0;
			const currentExp = Number(userData?.exp) || 0;
			const currentMsgCount = Number(userData?.data?.msgCount) || 0;
			const currentBetCount = Number(userData?.data?.betCount) || 0;
			const currentCorrectCount = Number(userData?.data?.correctCount) || 0;
			const currentWrongCount = Number(userData?.data?.wrongCount) || 0;

			// ইউজারের নাম আপডেট রাখা (নাম পরিবর্তন হলেও ঠিক থাকবে)
			let userName = userData?.name;
			try {
				userName = await usersData.getName(event.senderID);
			} catch (e) {}

			await usersData.set(event.senderID, {
				...userData,
				name: userName || userData?.name || "Unknown",
				money: currentMoney,
				exp: currentExp,
				data: {
					...(userData?.data || {}),
					msgCount: currentMsgCount + 1,
					betCount: currentBetCount,
					correctCount: currentCorrectCount,
					wrongCount: currentWrongCount
				}
			});

		} catch (error) {
			console.log("autosave event error:", error);
		}
	}
};

View raw file