HTML форма, которую обрабатывает jQuery, записывает данные в Cookies и если все ОК — пересылает данные в Telegram с помощью AJAX.
В скрипте реализованы три стадии защиты от «дураков». Возможно отправить только два сообщения с одного браузера. Сделано это специально, чтобы «приколисты» не могли бесконечно присылать сообщения в чат.
Посмотреть как работает: https://code.itikhonov.art
Куда прилетают сообщения: https://t.me/iartsorders
Создание и подключение бота: тут
Аналоги на PHP
Ранее я уже писал статью, как отправлять данные в Telegram с сайта с помощью PHP. Сложного ничего. Все строится на базе открытого API.
Подробнее про PHP: тут
HTML форма для jQuery
Форма писалась для модального окна под лендинг на WordPress. Отсюда и логика обработки. С минимальным количеством полей — номер телефона и необязательное текстовое поле для хотелок клиента.
Планирование и автозапуск Python скриптов по времени
HTML код формы
- autocomplete — запрещаем автозаполнение формы
- placeholder — подсказка в каком виде нужно вписать номер телефона
- pattern — регулярное выражение, которым мы запрещаем все, кроме цифр
- maxlength — максимально 12 цифр
Технологии и способы защиты от спама
На самом деле защититься от фронтенд атак крайне сложно т.к. все скрипты хранятся в открытом виде, но простейшие решения все же есть. Они направлены на то, чтобы отбить у потенциальных «приколистов» желание спамить.
- Блокировка копирования, вставки и автозаполнения номера телефона.
- Валидация номера телефона (реализованы РФ номера).
- Блокировка повторной отправки формы.
- Фиксация отправок в cookies и ограничение попыток.
Обрабатываем клик по кнопке, получаем данные из форм и отправляем в Telegram с помощью jQuery Ajax
Для начала подключаем jQuery и плагин JS Cookies
В первую очередь нам необходимо обработать клик по кнопке и получить данные из форм. Кнопка выполнена ссылкой, чтобы не обновлялась страница.
При клике по кнопке, введенные в поля данные будут записаны в переменные, вызовется функция send_tg и будут отправлены данные в чат:
2. Проверим нашу форму на то, что отправка уже совершена, а страница еще не обновлялась. Также запишем факт отправка в Cookies
На первом этапе мы к кнопке добавили CSS класс «sent» и сразу после клика по кнопке начинаем проверять его наличие. Первый клик пропускает, но начиная со второго скрипт отсекает любые попытки выводя соответствующий текст
$(‘#datas-btn’).click(function()< // Очищаем поле с результатом $(‘p.ressult’).empty(); if($(‘#datas-btn’).hasClass(‘sent’))< $(‘p.ressult’).css(‘color’, ‘red’).append(‘Вы уже отправили заявку. Если была допущена ошибка — обновите страницу и отправьте заново.’); >else< // получаем данные из полей формы var f_phone = $(‘input.phone’).val(), f_descr = $(‘textarea.descr’).val(); // Проверяем корректность номера телефона (только РФ) if(f_phone == » || !validatePhone(f_phone))< $(‘p.ressult’).css(‘color’, ‘red’).append(‘Некорректно заполнен номер телефона’); >else< // Если Телефон корректный — выводим результат $(‘p.ressult’).css(‘color’, ‘red’).append(‘Заявка отправлена!
Мы свяжемся с вами в ближайшее время’); // Защита от «Дурака» 2. Вешаем метку в виде CSS класса и блокируем повторную отправку заявки $(‘#datas-btn’).addClass(‘sent’); // Заносим номер телефона и текст в куки Cookies.set(‘phone’, f_phone); Cookies.set(‘text’, f_descr); // Защита от «Дурака» 1. Даем две попытки на отправку заяявок. Фиксируем их в куках if(!Cookies.get(‘sent’))< Cookies.set(‘sent’, ‘1’); >else if(Cookies.get(‘sent’) == ‘1’) < Cookies.set(‘sent’, ‘2’); >> > >); // STATIC FUNCTIONS // Защита от «Дурака» 3. Блокируем возможность вставки в поле с номером телефона, дабы отбить желание спамить нам заявки $(‘input.phone’).bind(‘cut copy paste’, function (e) < e.preventDefault(); >); // Валидация телефона через регулярные выражения function validatePhone(phone)< let regex = /^(+7|7|8)?[s-]?(?[489][0-9])?[s-]?[0-9][s-]?[0-9][s-]?[0-9]$/; return regex.test(phone); >
3. Получаем Cookies и отсекаем спам рассылки
Также мы записали факт клика в cookies и присвоили ему значение «1». Бывает всякое и отправитель мог ошибиться. Поэтому дадим ему возможность отправить сообщение еще раз.
Третьей попытки уже не будет. Добавляем это условие и подключаем функцию отправки в Telegram:
Источник: devarts.pro
PowerShell: отправка сообщений в Telegram
20.02.2023
itpro
PowerShell, Windows 10, Windows 11
комментариев 9
Мессенджер Telegram можно использовать как средство мгновенного оповещения о различных событиях в инфраструктуре, результатах выполнения скриптов или заданий планировщика. В этой статье мы покажем, как отправить текстовое уведомление в канал или группу Telegram с помощью PowerShell через API бота.
Укажите название бота и имя пользователя. BotFather сгенерирует для вам HTTP токен, который нужно скопировать и сохранить.
Your user ID: 987654321
Для отправки сообщения в Telegram нужно указать токен бота и имя вашего пользователя (группы):
Для подключения к API Telegram нужно обязательно использовать протокол TLS 1.2. Убедитесь, что TLS 1.2 включен в вашей операционной системе Windows. PowerShell по умолчанию может использовать для подключения устаревшие протоколы SSL 3.0, TLS 1.0, или TLS 1.1. Чтобы использовать TLS 1.2 в текущей сессии, выполните команду:
Чтобы отправить сообщение в Telegram, выполните команду:
$message=»Тестовое сообщение в Telegram из PowerShell»
$Response = Invoke-RestMethod -Uri «https://api.telegram.org/bot$($Telegramtoken)/sendMessage?chat_id=$($Telegramchatid)
Вы должны получить сообщение от бота.
Чтобы сделать уведомления более наглядными и красочными, можно использовать символы emoji и HTML форматирование:
$message= $currend_data + «⚠️ Скрипт обновления Update1C завершен с ошибками»
$Response = Invoke-RestMethod -Uri «https://api.telegram.org/bot$($tg_token)/sendMessage?chat_id=$($tg_chat_id)parse_mode=html»
Рекомендую использовать редактор VS Code для работы со скриптами PowerShell.
Если в вашей сети доступ в интернет выполняется через прокси сервер, вы можете указать есть с помощью параметра -Proxy командлета Invoke-WebRequest. Для аутентификации на прокси можно использовать аргумент -ProxyCredential .
$Response = Invoke-RestMethod -Uri «https://api.telegram.org/bot$($Telegramtoken)/sendMessage?chat_id=$($Telegramchatid) –Proxy «http://192.168.31.55:3128»
В PowerShell 7.x командлет Invoke-WebRequest использует настройки прокси, заданные в переменных окружения. Подробнее об использовании прокси в PowerShell.
Скрипт отправки сообщения в телеграм можно оформить в функцию и добавить ее в файл профиля PowerShell в Windows:
function Send-Telegram [string] $Message ) $tg_token=»xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx» $tg_chat_id=»987654321″ [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 $Response = Invoke-RestMethod -Uri «https://api.telegram.org/bot$($tg_token)/sendMessage?chat_id=$($tg_chat_id)parse_mode=html» return $Response >
Чтобы открыть текстовый файл с профилем PowerShell, который автоматически применяется при запуске процесса powershell.exe/pwsh.exe, выполните команду:
Теперь вы можете использовать функцию отправки сообщения в канал Telegram из любого скрипта PowerShell. Достаточно выполнить команду:
Send-Telegram «My test message»
Если в качестве основного вы используете Teams, мы также можете отправлять сообщения в канал Teams с помощью PowerShell.
Предыдущая статья Следующая статья
Читайте далее в разделе PowerShell Windows 10 Windows 11
Установка и настройка фермы Remote Desktop Services (RDS) в Windows Server
Настройка шлюза Remote Desktop Gateway на Windows Server
Как удалить/отключить браузер Microsoft Edge в Windows 10/11?
Очищаем профили пользователей Windows (RDS) от временных файлов и кэша с помощью PowerShell и GPO
Источник: winitpro.ru
Как отправить отложенное сообщение в Телеграмме
Инструкции
Отложенные сообщения бывают полезными во многих ситуациях. Они могут служить напоминанием о встрече или событии, упрощать взаимодействие людей, находящихся в разных часовых поясах и тд. Одним словом, функция делает пользователя гибким и организованным в коммуникации.
Как отправить отложенное сообщение в мобильном приложении
Отправление отложенного сообщения через мобильное приложение не займет много времени. Для выполнения этой задачи необходимо:
- выбрать диалог;
- написать сообщение;
- зажать синюю стрелочку;
- нажать на «Задать напоминание»;
- выбрать дату и время;
- нажать на «Отправить».
После осуществления этих действий будет создано отложенное сообщение. Если вы передумаете отправлять текст в указанное время, необходимо нажать на календарь в чате с собеседником, далее кликнуть по набранному тексту для последующей отправки, а потом – на «Отправить сейчас» или «Удалить».
Как отправить отложенное сообщение на ПК
Отправление отложенного сообщения с легкостью совершается как через браузерную, так и через десктопную версию мессенджера. Для этого необходимо:
- выбрать контакт и открыть диалог с ним;
- написать сообщение;
- нажать правой кнопкой мыши на стрелочку;
- выбрать «Задать напоминание»;
- указать дату и кликнуть по «Запланировать».
Где в Телеграмме хранятся отложенные сообщения
Отложенные сообщения находятся в специальном архиве. Чтобы его открыть, пользователю рекомендуется:
- Перейти в диалог с отложенными сообщениями.
- Нажать на календарь, располагающийся рядом с кнопкой «Отправить».
Наличие возможности повторного просмотра текста позволяет человеку изменить или удалить его.
Как изменить или удалить отложенные сообщения
Изменение отложенного сообщения происходит посредством открытия дополнительного окна. Чтобы изменить или удалить сообщение следует:
- открыть диалог.
- нажать на календарь.
- в открывшемся окне кликнуть по сообщению.
- нажать на «Изменить» или «Удалить».
Функция «Изменить» позволяет изменять содержимое сообщения, а «Удалить» — убирать его из диалога. Также есть возможность изменить время отправки и отправить сообщение сразу с помощью соответствующих кнопок.
Настройка уведомлений для отложенных сообщений представляет собой удобную функцию, исключающую появление уведомлений при отправке сообщения. Как это работает? Некоторые пользователи планируют отправку сообщений на месяцы вперед. Со временем они забывают о существовании этих текстов. Но всплывающее уведомление об отправке напоминает человеку о запланированном. Для отключения уведомлений человеку нужно:
- выбрать чат с отложенными сообщениями;
- нажать на «Выключить звук».
Важно! При использовании этой возможности пользователь должен знать, что он перестанет получать все сообщения внутри конкретного диалога.
К основным преимуществам отложенных сообщений в телеграмме относятся — удобство планирования, повышение производительности, возможность ведения рекламных кампаний, возможность важных напоминаний. Каждая из этих особенностей делает функцию интересной в использовании:
- Удобство планирования.
Отложенные сообщения позволяют написать сообщение заранее и запланировать его отправку в определенное время. Это полезно, если у пользователя есть важное событие, о котором он не хочет забыть. Помимо этого, функция становится незаменимым помощником для людей, не имеющих стабильного доступа к сети. С помощью отложенных сообщений они сообщают собеседнику определенную информацию в любое время даже без интернета.
- Повышение производительности.
Создание отложенных сообщений может быть необходимо для выполнения рабочих задач. Функция способствует лучшей организации времени и равномерному распределению рабочих вопросов.
- Рекламные кампании.
Бизнес-пользователям нужны отложенные сообщения для планирования и автоматизации рекламных кампаний. Использование функции способствует набору максимального количества аудитории и оптимизации затрат на маркетинг.
Отправление отложенных сообщений — удобный способ планирования коммуникаций и оперативного сообщения информации без присутствия в реальном времени. Благодаря наличию гибких возможностей (изменение и удаление), пользователь может исправить или отозвать отправленный текст. Использование функции подарит пользователю множество преимуществ в повседневной жизни или бизнесе.
Источник: tgrminfo.ru