Страницы

Поиск по вопросам

вторник, 10 декабря 2019 г.

Достать все сообщения с публичного чата Telegram

#php #laravel #telegram_bot #telegram_api #telegram


Как спарсить заданное пользователем количество сообщений с публичного чата Telegram?

На входе пользователь вводит url чата и количество сообщений которое нужно спарсить.
Раньше никогда не работал ни с ботами Телеграм, ни с его АПИ. Как лучше это реализовать?
Возможно есть готовые библиотеки для данной задачи? 
    


Ответы

Ответ 1



Если нужно парсить с любого рандомного публичного чата, то через Telegram-Bot-API этого не сделать. Потому что бот читает только из чата, куда он добавлен сам. Для ботов есть только один способ получать сообщения - метод getUpdates получает все сообщения за определенный период, но надо понимать, что в ответ приходит данные по всем чатам и определять нужный придется самостоятельно. Для понимания как писать именно ботов для Telegram можно почитать вот эту статью - https://netology.ru/blog/bot-php ну или любую другую по запросу telegram бот на php их достаточно много=) Для того что бы парсить из любого чата, нужно писать свой клиент для Telegram, тогда можно будет использовать метод messages.getHistory() Нашел реализацию клиента Telegram на PHP - MadelineProto, можно попробовать использовать ее. Дополнительно можно почитать: https://stackoverflow.com/questions/34687435/telegram-api-with-php-not-bot - в ответах есть краткое описание шагов по созданию клиента для Telegram https://core.telegram.org/#getting-started - дока по TelegramAPI

Комментариев нет:

Отправить комментарий