29 lines
1.1 KiB
JavaScript
29 lines
1.1 KiB
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.sendNtfyAlert = sendNtfyAlert;
|
|
const axios_1 = __importDefault(require("axios"));
|
|
const dotenv_1 = __importDefault(require("dotenv"));
|
|
dotenv_1.default.config();
|
|
async function sendNtfyAlert(provider, percentage) {
|
|
const url = process.env.NTFY_URL || 'https://ntfy.orfel.de/tokenwatch_dummy';
|
|
const isPoe = provider.toLowerCase() === 'poe';
|
|
const message = isPoe
|
|
? `🚨 ${provider} quota is running low! (${percentage.toFixed(1)}% remaining)`
|
|
: `🚨 ${provider} quota is running low! (${percentage.toFixed(1)}% used)`;
|
|
try {
|
|
await axios_1.default.post(url, message, {
|
|
headers: {
|
|
'Title': 'TokenWatch Alert',
|
|
'Tags': 'warning,robot'
|
|
}
|
|
});
|
|
console.log(`ntfy alert sent for ${provider}`);
|
|
}
|
|
catch (error) {
|
|
console.error('Failed to send ntfy alert:', error.message);
|
|
}
|
|
}
|
|
//# sourceMappingURL=ntfy.js.map
|