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

330
08 июля 2017, 10:54

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

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

Answer 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

READ ALSO
Уникализация массива

Уникализация массива

Есть массив из двух элементов такого вида:

217
внести значение переменных в бд mysql

внести значение переменных в бд mysql

пишу бота на php+mysqlно при передаче данных в бд у меня чтото не так

185