@ince

Как получить посты из telegram канала?

Зарегистрировал бота, аутентифицировался, получил entity канала, но не могу получить доступ к его сообщениям.
Я так понял, что боту нужно быть подписанным на канал, чтобы иеть доступ к постам, но подписать может только админ канала.
Как быть? Как получить посты канала?

const channel = await client.getEntity("ru2ch_news");
console.log("name is", utils.getDisplayName(channel));

let messages = await client.iterMessages(channel);

for (const message of messages){
    console.log("Message text is", message.text);
}


Ошибка в цикле for
RPCError: 400: BOT_METHOD_INVALID (caused by messages.Search)


Вот так еще пробовал
const result = await client.invoke(
        new Api.channels.GetMessages({
            channel: channel,
            id: [43],
        })
    );
  • Вопрос задан
  • 1356 просмотров
Пригласить эксперта
Ответы на вопрос 2
@kado123
Никак, бот должен находится в этом канале для получения постов.
Ответ написан
@lelemarkov
Можно поднять сервак и с помощью любой из библиотек для клиентского апи запустить приложение Telegram. Для этого нужно зарегистрировать сам на сайте Telegram, авторизоваться в аккаунте и дальше можно будет пользоваться всеми методами, которые есть мобильном приложении телеги.

Более простой вариант — просто найти в агрегаторах API для Telegram. Для небольшого количества запросов они бесплатны, если в промышленных масштабах использовать, то нужно будет оплатить подписку. Вот для примера, что я нашел: https://rapidapi.com/i-YqErDdkq0t/api/telegram92
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы