Как сделать так, чтобы телеграм бот получал последнее сообщение с чата, а не с личных сообщений, js?

Ссылка скопирована
1 ответ

вот код:

async function getResponse(){     let response = await fetch('https://api.telegram.org/bot{bot-token}/getUpdates?chat_id={chat-id})     let content = await response.json()     NumberOfAmountNumber = (content.result.length - 1);     messaage= (content.result[NumberOfAmountNumber].message.text);     return messaage }

async function getResponse(){ let response = await fetch('https://api.telegram.org/bot{bot-token}/getUpdates?chat_id={chat-id}) let content = await response.json() NumberOfAmountNumber = (content.result.length - 1); messaage= (content.result[NumberOfAmountNumber].message.text); return messaage }

эта функция получает последнее сообщения из лс бота, но не из чата, айди которого указан в конце фетч запроса.
как сделать так чтобы бот получал значение из чата?

Дополнительно:

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Антон С. Ответ

Для того чтобы телеграм бот получал последнее сообщение с чата, а не с личных сообщений, можно воспользоваться методом `getUpdates` Telegram Bot API. Этот метод позволяет получить обновления, которые произошли после определенного идентификатора обновления.

Прежде всего, необходимо зарегистрировать бота в Telegram и получить токен доступа. Затем можно использовать следующий код на JavaScript для отправки запроса к API:

const token = 'YOUR_BOT_TOKEN';
const apiUrl = `https://api.telegram.org/bot${token}/getUpdates`;
 
fetch(apiUrl)
  .then(response => response.json())
  .then(data => {
    const chatId = data.result[data.result.length - 1].message.chat.id;
    const lastMessage = data.result[data.result.length - 1].message.text;
 
    console.log(`Chat ID: ${chatId}`);
    console.log(`Last Message: ${lastMessage}`);
  })
  .catch(error => console.error(error));

const token = 'YOUR_BOT_TOKEN'; const apiUrl = `https://api.telegram.org/bot${token}/getUpdates`; fetch(apiUrl) .then(response => response.json()) .then(data => { const chatId = data.result[data.result.length - 1].message.chat.id; const lastMessage = data.result[data.result.length - 1].message.text; console.log(`Chat ID: ${chatId}`); console.log(`Last Message: ${lastMessage}`); }) .catch(error => console.error(error));

В этом коде мы отправляем запрос к API Telegram Bot с помощью метода `fetch`. Затем мы получаем последнее обновление с помощью `getUpdates` и извлекаем `chatId` и текст последнего сообщения.

Не забудьте заменить `YOUR_BOT_TOKEN` на ваш собственный токен доступа. Также учтите, что этот код будет работать только в браузере или Node.js с использованием пакета `node-fetch`.

Теперь ваш телеграм бот будет получать последнее сообщение с чата, а не с личных сообщений.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно