goat
command
monitor
Create or rename uptime monitor
0
views
0
likes
0
installs
raw source
const axios = require("axios");
module.exports = {
config: {
name: "monitor",
version: "1.1.0",
author: "Chitron Bhattacharjee",
countDown: 5,
role: 0,
shortDescription: {
en: "Create or rename uptime monitor"
},
description: {
en: "Create UptimeRobot monitor or rename an existing one"
},
category: "system",
guide: {
en: "{p}monitor [name] [url]\n{p}monitor rename [id] [newName]"
}
},
onStart: async function ({ api, event, args }) {
if (args.length < 1) {
return api.sendMessage("❌ Usage:\n{p}monitor [name] [url]\n{p}monitor rename [id] [newName]", event.threadID, event.messageID);
}
const subCommand = args[0].toLowerCase();
// === Rename monitor ===
if (subCommand === "rename") {
if (args.length < 3) {
return api.sendMessage("❌ Usage:\n{p}monitor rename [id] [newName]", event.threadID, event.messageID);
}
const id = args[1];
const newName = args.slice(2).join(" ");
try {
const res = await axios.get("https://web-api-delta.vercel.app/upt/rename", {
params: { id, name: newName }
});
const result = res.data;
if (result.error) {
return api.sendMessage(`⚠️ Rename Failed: ${result.error}`, event.threadID, event.messageID);
}
const updated = result.data;
return api.sendMessage(`✅ Monitor Renamed!\n🆔 ID: ${updated.id}\n📛 New Name: ${updated.name}`, event.threadID, event.messageID);
} catch (e) {
return api.sendMessage(`🚫 API request failed!\n${e.message}`, event.threadID, event.messageID);
}
}
// === Create monitor ===
if (args.length < 2) {
return api.sendMessage("❌ Usage:\n{p}monitor [name] [url]", event.threadID, event.messageID);
}
const name = args[0];
const url = args[1];
const interval = 300;
if (!url.startsWith("http")) {
return api.sendMessage("❌ Please provide a valid URL!", event.threadID, event.messageID);
}
try {
const res = await axios.get("https://web-api-delta.vercel.app/upt", {
params: { name, url, interval }
});
const result = res.data;
if (result.error) {
return api.sendMessage(`⚠️ Error: ${result.error}`, event.threadID, event.messageID);
}
const monitor = result.data;
const msg = `✅ Monitor Created Successfully!\n━━━━━━━━━━━━━━\n🆔 ID: ${monitor.id}\n📛 Name: ${monitor.name}\n🔗 URL: ${monitor.url}\n⏱️ Interval: ${monitor.interval / 60} mins\n📶 Status: ${monitor.status == 1 ? "Active ✅" : "Inactive ❌"}`;
return api.sendMessage(msg, event.threadID, event.messageID);
} catch (e) {
return api.sendMessage(`🚫 API request failed!\n${e.message}`, event.threadID, event.messageID);
}
}
};