Advertisement
samiroexpikachu

Reminder

Mar 11th, 2024
389
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const parseTime = (timeString) => {
  2.   const [hours, minutes, seconds] = timeString.split('|').map(Number);
  3.   return { hours, minutes, seconds };
  4. };
  5.  
  6. module.exports = {
  7.   config: {
  8.     name: "reminder",
  9.     version: "1.0",
  10.     author: "Samir Œ",
  11.     shortDescription: "Set a reminder",
  12.     longDescription: "Set a reminder to receive a message after a specified time.",
  13.     category: "Utility",
  14.     guide: "{prefix}reminder <message> | <hours> | <minutes> | <seconds>",
  15.   },
  16.  
  17.   onStart: async function ({ api, event, args }) {
  18.     const reminderInfo = args.join(" ").split("|").map((info) => info.trim());
  19.  
  20.     if (reminderInfo.length !== 4) {
  21.       return api.sendMessage("Invalid command usage. Use `{prefix}reminder <message> | <hours> | <minutes> | <seconds>`", event.threadID);
  22.     }
  23.  
  24.     const [message, hours, minutes, seconds] = reminderInfo;
  25.  
  26.     const userID = event.senderID;
  27.     const reminderTime = parseTime(`${hours}|${minutes}|${seconds}`);
  28.     const reminderMilliseconds = (reminderTime.hours * 3600 + reminderTime.minutes * 60 + reminderTime.seconds) * 1000;
  29.  
  30.     setTimeout(() => {
  31.       api.sendMessage(message, userID);
  32.     }, reminderMilliseconds);
  33.  
  34.     return api.sendMessage(`Reminder set! You will receive "${message}" after ${hours} hours, ${minutes} minutes, and ${seconds} seconds.`, event.threadID);
  35.   }
  36. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement