Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
2. Зачем прокси через node.js? В простейшем случае можно писать напрямую с сайта в api.telegram.org, «благо» Access-Control-Allow-Origin:*.

2, т.е. вы предлагаете использовать токен от бота в фронте?
const TOKEN = xxx; // токен от BotFather
const CHAT_ID = yyy; // chat_id для телеграм
var form = document.querySelector('.form'); // находим в DOM нашу лид-форму
form.addEventListener("submit", function (e) { // прослушиваем форму
e.preventDefault(); // перехватываем стандартный ответ
data = new FormData(this); // вместо serialize на jQuery
sendMsg(data); // передаём данные из формы на отправку
})
function sendMsg(data) {
var url = 'https://api.telegram.org/bot' + TOKEN + '/sendMessage'; // токен бота
var body = JSON.stringify({ // склеиваем объект в JSON строку
chat_id: CHAT_ID,
parse_mode: 'Markdown', // разметка сообщений вкл (чтобы использовать *жирный текст*)
text: '*Новый лид*\n' + data.get("title") + '\n\n*Имя:* ' + data.get("name") + '\n*Телефон:* ' + data.get("phone") + '\n*Откуда:* [' + window.location.href + '](' + window.location.href + ')'
});
var xhr = new XMLHttpRequest(); // инициализируем AJAX запрос
xhr.open('POST', url, true); // отправляем наше сообщение методом POST на сервак телеги
xhr.setRequestHeader('Content-type', 'application/json; charset=utf-8'); // на всякий случай, оповестим телеграм, что отправили JSON
xhr.send(body);
}
<form method="post" class="form">
<input type="hidden" name="title" value="Есть вопросы?" />
<input type="text" name="phone" placeholder="Телефон (+7 ...)"/>
<input type="text" name="name" placeholder="Имя" />
<button>БЕСПЛАТНАЯ КОНСУЛЬТАЦИЯ</button>
</form>
Надоевшая почта или как отправлять сообщения с сайта в Telegram через Node.js (Express)