2941b14b38
- Moved contents of main_dc/yalarba/easySite/easySite/ up to easySite/ - Updated docker-compose.yml build context path - Deleted empty nested easySite/ directory
57 lines
2.0 KiB
TypeScript
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
|
|
};
|
|
}; |