Files
tp/main_dc/yalarba/easySite/app/composables/useTelegram.ts
T
valitovgaziz 2941b14b38 flatten easySite directory: remove extra easySite/easySite nesting
- Moved contents of main_dc/yalarba/easySite/easySite/ up to easySite/
- Updated docker-compose.yml build context path
- Deleted empty nested easySite/ directory
2026-06-12 11:16:15 +05:00

57 lines
2.0 KiB
TypeScript

// composables/useTelegram.ts
export const useTelegram = () => {
const config = useRuntimeConfig();
const sendMessageToTelegram = async (message: string): Promise<{ success: boolean; error?: string }> => {
if (!message?.trim()) {
return { success: false, error: 'Сообщение не может быть пустым' };
}
try {
const BOT_TOKEN = config.public.telegramBotToken || "8470085635:AAEPZcsN3n-3FkMdr7DzxbiQ3q8mXZTGwug";
const CHAT_ID = config.public.telegramChatId || "559861569";
const formData = new FormData();
formData.append('chat_id', CHAT_ID);
formData.append('text', `📥 Новое сообщение:\n\n${message}`);
formData.append('parse_mode', 'HTML');
const response = await fetch(`https://api.telegram.org/bot${BOT_TOKEN}/sendMessage`, {
method: 'POST',
body: formData
});
const data = await response.json();
if (data.ok) {
return { success: true };
} else {
console.error('Telegram API Error:', data);
return { success: false, error: data.description || 'Неизвестная ошибка Telegram API' };
}
} catch (error) {
console.error("Ошибка сети:", error);
return { success: false, error: 'Произошла ошибка сети. Попробуйте позже.' };
}
};
const sendMessageWithPrompt = async (): Promise<void> => {
const message = prompt("Опишите, пожалуйста, ваше предложение или вопрос. Я свяжусь с вами в ближайшее время:");
if (message?.trim()) {
const { success, error } = await sendMessageToTelegram(message);
if (success) {
alert("Сообщение успешно отправлено! Я свяжусь с вами в ближайшее время.");
} else {
alert("Ошибка: " + error);
}
}
};
return {
sendMessageToTelegram,
sendMessageWithPrompt
};
};