Как сделать уведомления в телеграмм при входе на сайт?
Задался вопросом как можно сделать уведомления в телеграмме для разработчика (меня) при входе на сайт любого юзера.
const xhr = new XMLHttpRequest(); xhr.open('GET', 'https://api.ipify.org?format=json', true); xhr.onreadystatechange = function () { if (this.readyState === 4 && this.status === 200) { var response = JSON.parse(this.responseText); var ip = response.ip; var text = `New visit to site!nIP Adress: ${ip}` xhr.open('GET', `https://api.telegram.org/bot${token}/sendMessage?chat_id=${admin}&parse_mode=html&text=${text}`) xhr.send(); } }; |
const xhr = new XMLHttpRequest(); xhr.open('GET', 'https://api.ipify.org?format=json', true); xhr.onreadystatechange = function () { if (this.readyState === 4 && this.status === 200) { var response = JSON.parse(this.responseText); var ip = response.ip; var text = `New visit to site!nIP Adress: ${ip}` xhr.open('GET', `https://api.telegram.org/bot${token}/sendMessage?chat_id=${admin}&parse_mode=html&text=${text}`) xhr.send(); } };
Дополнительно:
Так а в чем вопрос?
В консоли ошибок тоже нет, вот надеюсь на помощь
Например попробовать выполнить POST а не GET
Если же запрос просто вставить в адресную строку, то сообщение придет (смотрел для теста)
<script> const xhr = new XMLHttpRequest(); xhr.open('GET', 'https://api.ipify.org?format=json', true); xhr.onreadystatechange = function () { if (this.readyState === 4 && this.status === 200) { var response = JSON.parse(this.responseText); var ip = response.ip; var text = `New visit to site!nIP Adress: ${ip}` xhr.open('GET', `https://api.telegram.org/bot${token}/sendMessage?chat_id=${admin}&parse_mode=html&text=${text}`) xhr.send(); } }; xhr.send(); </script> |
<script> const xhr = new XMLHttpRequest(); xhr.open('GET', 'https://api.ipify.org?format=json', true); xhr.onreadystatechange = function () { if (this.readyState === 4 && this.status === 200) { var response = JSON.parse(this.responseText); var ip = response.ip; var text = `New visit to site!nIP Adress: ${ip}` xhr.open('GET', `https://api.telegram.org/bot${token}/sendMessage?chat_id=${admin}&parse_mode=html&text=${text}`) xhr.send(); } }; xhr.send(); </script>
Вот как-то так.
Ещё момент, переменные ${token} и ${admin} вы собираетесь отправлять в браузер пользователя? И тогда любой пользователь, увидивший этот скрипт на странице, сможет слать на Телеграмовский аккаунт любые сообщения (в особенности спам)? Ню-ню, удачи......
Меня терзают сомнения что пользователи увидевшие этот скрипт, найдут ему применение, ну или возможно когда буду выкладывать на прод, придумаю что-нибудь :p
Ещё столкнулся с ошибкой что верный адрес оно выдает. но при этом дальше начинает флудить месседжами New visit to site!IP Adress: undefined
Запрос лучше всего отправлять через язык сервера. На сайте должны быть запросы только те, которые без обидны и не смогут навредить.
А у вас что?
Меня терзают сомнения что пользователи увидевшие этот скрипт, найдут ему применение, ну или возможно когда буду выкладывать на прод, придумаю что-нибудь :p
Вот именно.
У вас явно вот он бот, вот токен, вот чат. Сыпь ему рекламу или ещё того хуже...
Ни в коем случае нельзя делать такое на стороне клиента. На стороне бэкенда отправляйте уведомление
Ответы:
У вас подход изначально неправильный.
1. Ни в коем случае нельзя ключи от API в открытом виде размещать на своем сайте
2. За отправку уведомлений должен отвечать тот же скрипт, который отдает html-страницу
3. В случае с php просто делаете запрос на API телеги используя CURL, примеров в сети полно
https://vk-book.ru/otpravka-soobshhenij-v-telegram...
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для того чтобы настроить уведомления в Telegram при входе на сайт, можно воспользоваться следующими шагами:
1. Создать бота в Telegram и получить уникальный API ключ для доступа к боту.
2. Настроить веб-сервер для отправки запросов к API Telegram.
3. Написать скрипт на языке программирования, который будет отправлять уведомления в Telegram.
4. Интегрировать этот скрипт в процесс аутентификации на вашем сайте.
Пример кода на PHP для отправки уведомления в Telegram:
Замените `YOUR_TELEGRAM_BOT_TOKEN` на ваш уникальный API ключ бота и `YOUR_TELEGRAM_CHAT_ID` на ID вашего чата в Telegram. После этого при каждом успешном входе на сайт будет отправляться уведомление в ваш чат в Telegram.
Это лишь пример решения задачи. Не забудьте учесть безопасность и возможные ограничения Telegram API при использовании данного метода.