#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
Комментариев нет:
Отправить комментарий