@grande2k

Почему Telegram API присылает удаленные сообщения?

Всем привет, в общем пишу приложение на Vue.js, там будет раздел новостей, новости должны браться из телеграмм канала. Я написал простенький файл на express и node.js:
const express = require('express');
const axios = require('axios');

const app = express();
const BOT_TOKEN = 'мой_токен;
const CHANNEL_ID = 'мой_айди';

app.get('/news', async (req, res) => {
  try {
    const response = await axios.get(`https://api.telegram.org/bot${BOT_TOKEN}/getUpdates`);
    const data = response.data;

    const messages = await Promise.all(data.result
      .filter(update => update.channel_post && update.channel_post.chat.id === CHANNEL_ID)
      .map(async update => {
        const post = update.channel_post;
        let photoUrl = null;

        if (post.photo) {
          const fileId = post.photo[post.photo.length - 1].file_id; // Используем последнюю фотографию (самую большую)
          const fileResponse = await axios.get(`https://api.telegram.org/bot${BOT_TOKEN}/getFile?file_id=${fileId}`);
          const filePath = fileResponse.data.result.file_path;
          photoUrl = `https://api.telegram.org/file/bot${BOT_TOKEN}/${filePath}`;
        }

        return {
          text: post.caption ?? post.text,
          date: new Date(post.date * 1000),
          photo: photoUrl,
        };
      })
    );

    res.json(messages);
  } catch (error) {
    console.error(error);
    res.status(500).send('Error fetching news');
  }
});

app.get('/status', (req, res) => {
  res.send('Server is running');
});

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});


Все окей, только если я удалю сообщение в тг канале, то оно все равно будет приходить в ответе на запрос, можно ли как-то получать только актуальные сообщения (не удаленные), я использую метод getUpdates. (Я создал бота и добавил его в канал с правами администратора)
  • Вопрос задан
  • 119 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы