@qso-soft/shared
Version:
Shared library for QSO-soft
35 lines • 1.34 kB
JavaScript
import axios from 'axios';
export const TG_BASE_URL = 'https://api.telegram.org/bot';
export const getTgChatIds = async (token) => {
const url = `${TG_BASE_URL}${token}/getUpdates`;
const response = await axios.get(url);
const { ok: status = false, result = null } = response?.data || {};
if (!status || !result || !result?.length) {
throw new Error('TG API Error');
}
const uniqChatIds = new Set();
result.forEach((details) => uniqChatIds.add(details.message.chat.id));
return Array.from(uniqChatIds);
};
export const sendTgMessage = async ({ chatIds, token, message }) => {
const url = `${TG_BASE_URL}${token}/sendMessage`;
const requestPromises = chatIds.map(async (id) => {
const params = { chat_id: id, text: message };
return axios.post(url, params);
});
return Promise.all(requestPromises);
};
export const getTgMessageByStatus = (status = 'success', moduleName, message) => {
const content = message ? `[${moduleName}]: ${message}` : moduleName;
switch (status) {
case 'success':
return `✅ ${content}`;
case 'warning':
return `⚠️ ${content}`;
case 'error':
return `❌ ${content}`;
case 'critical':
return `💢 ${content}`;
}
};
//# sourceMappingURL=helpers.js.map