Top.Mail.Ru
Ответы

Доработать скрипт бота - чтобы он только один раз отвечал на последнее сообщение.

Сделать так, чтобы бот не повторял то что уже написано, и в то же время работал в реальном времени.

1234567891011121314151617181920212223242526272829303132333435363738394041424344
 setInterval(function(){ 
 
 
 
 
let url = "https://api.telegram.org/bot/getUpdates"; 
 
//создание обьекта который умеет отправлять запросы 
let xhr = new XMLHttpRequest(); 
 
// говорим обьекту как отправить запрос 
xhr.open('GET', url , false); 
 
//отправляем запрос 
xhr.send(); 
 
//раскодируем данные которые получили в ответ 
let data = JSON.parse(xhr.responseText); 
 
//выводим результат на экран 
console.log(data); 
 
//находим последнее сообщение 
let lastNumber =  data.result.length - 1;// номер последнего сообщения 
let last = data['result'][lastNumber]; 
 
//находим айди юзера и текст сообщения 
let userId = last['message']['from']['id'] 
let text = last['message']['text'] 
 
 
//отправляем ответ 
sendMessage(userId,text); 
 
}, 3000); 
 
 
 
function sendMessage(userId, text) { 
    let url = `https://api.telegram.org/bot/sendMessage?chat_id=${userId}&text=${text}`; 
     let xhr = new XMLHttpRequest(); 
     xhr.open('GET',url,false); 
     xhr.send(); 
} 
По дате
По рейтингу
Аватар пользователя
Мастер
1234567891011121314151617181920212223242526
 let lastMessageId = 0; 
 
setInterval(function() { 
  let url = "https://api.telegram.org/bot/getUpdates"; 
  let xhr = new XMLHttpRequest(); 
  xhr.open('GET', url , false); 
  xhr.send(); 
  let data = JSON.parse(xhr.responseText); 
  let lastNumber = data.result.length - 1; 
  let last = data['result'][lastNumber]; 
  let currentMessageId = last['message']['message_id']; 
  if (currentMessageId !== lastMessageId) { 
    lastMessageId = currentMessageId; 
    let userId = last['message']['from']['id'] 
    let text = last['message']['text'] 
    sendMessage(userId, text); 
  } 
}, 3000); 
 
function sendMessage(userId, text) { 
  let url = `https://api.telegram.org/bot/sendMessage?chat_id=${userId}&text=${text}`; 
  let xhr = new XMLHttpRequest(); 
  xhr.open('GET',url,false); 
  xhr.send(); 
}