swarm-pilot
Version:
A docker swarm manager
24 lines (21 loc) • 849 B
text/typescript
import { Effect } from "effect"
import { Config } from "./config.js";
import TelegramBot from "node-telegram-bot-api";
export const notify = (message: string) => {
return Effect.gen(function* () {
const config = yield* Config;
if (!config.config.telegram_bot_token || !config.config.telegram_chat_id) {
yield* Effect.logInfo("Telegram bot token or chat ID not set. Skipping notification.");
return;
}
const bot = new TelegramBot(config.config.telegram_bot_token);
yield* Effect.tryPromise({
try: () => bot.sendMessage(config.config.telegram_chat_id, message),
catch: (error) => {
console.error("Error sending message:", error);
return null;
}
})
yield* Effect.logInfo(message);
})
}