This commit is contained in:
@@ -388,6 +388,18 @@
|
||||
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="#">Управление постами VK и событиями</a>
|
||||
|
||||
<!-- Поля для отправки сообщений через бота -->
|
||||
<div class="navbar-nav me-auto">
|
||||
<div class="d-flex align-items-center">
|
||||
<input type="text" class="form-control form-control-sm me-2" id="telegram-user-id" placeholder="ID пользователя" style="width: 150px;">
|
||||
<input type="text" class="form-control form-control-sm me-2" id="telegram-message" placeholder="Сообщение" style="width: 200px;">
|
||||
<button class="btn btn-outline-light btn-sm" id="send-telegram-btn">
|
||||
<i class="fas fa-paper-plane me-1"></i> Отправить
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
@@ -2103,6 +2115,77 @@
|
||||
window.hideProcessingMessage = hideProcessingMessage;
|
||||
window.unlinkPostFromEvent = unlinkPostFromEvent;
|
||||
window.unlinkEventFromPost = unlinkEventFromPost;
|
||||
|
||||
// Функция для отправки сообщения через Telegram бота
|
||||
async function sendTelegramMessage() {
|
||||
const userId = document.getElementById('telegram-user-id').value.trim();
|
||||
const message = document.getElementById('telegram-message').value.trim();
|
||||
|
||||
// Проверяем, что оба поля заполнены
|
||||
if (!userId || !message) {
|
||||
alert('Пожалуйста, заполните оба поля: ID пользователя и сообщение');
|
||||
return;
|
||||
}
|
||||
|
||||
// Проверяем, что user_id является числом
|
||||
if (isNaN(userId)) {
|
||||
alert('ID пользователя должен быть числом');
|
||||
return;
|
||||
}
|
||||
|
||||
// Показываем индикатор загрузки
|
||||
const sendBtn = document.getElementById('send-telegram-btn');
|
||||
const originalText = sendBtn.innerHTML;
|
||||
sendBtn.innerHTML = '<i class="fas fa-spinner fa-spin me-1"></i> Отправка...';
|
||||
sendBtn.disabled = true;
|
||||
|
||||
try {
|
||||
const response = await fetch('/send_message', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: JSON.stringify({
|
||||
user_id: parseInt(userId),
|
||||
message: message
|
||||
})
|
||||
});
|
||||
|
||||
const result = await response.json();
|
||||
|
||||
if (result.success) {
|
||||
alert('Сообщение отправлено успешно!');
|
||||
// Очищаем поля
|
||||
document.getElementById('telegram-user-id').value = '';
|
||||
document.getElementById('telegram-message').value = '';
|
||||
} else {
|
||||
alert('Ошибка отправки сообщения: ' + result.error);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Ошибка при отправке сообщения:', error);
|
||||
alert('Произошла ошибка при отправке сообщения. Проверьте консоль для подробностей.');
|
||||
} finally {
|
||||
// Восстанавливаем кнопку
|
||||
sendBtn.innerHTML = originalText;
|
||||
sendBtn.disabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Добавляем обработчик события для кнопки отправки
|
||||
document.getElementById('send-telegram-btn').addEventListener('click', sendTelegramMessage);
|
||||
|
||||
// Добавляем обработчик для отправки по Enter в полях
|
||||
document.getElementById('telegram-user-id').addEventListener('keypress', function(e) {
|
||||
if (e.key === 'Enter') {
|
||||
document.getElementById('telegram-message').focus();
|
||||
}
|
||||
});
|
||||
|
||||
document.getElementById('telegram-message').addEventListener('keypress', function(e) {
|
||||
if (e.key === 'Enter') {
|
||||
sendTelegramMessage();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
// Column resizer setup
|
||||
|
||||
Reference in New Issue
Block a user