Мы уже рассказывали про Телеграм-боты для пробива. Сегодня продолжим говорить про телегу и рассмотрим еще одну популярную тему — парсинг телеграм каналов и чатов.
Последнее время, на всяких компьютерных форумах и сайтах часто поднимают вопрос парсинга чатов и каналов Телеграм. Некоторые пытаются впарить свои сервисы, которые как правило еще то разводилово. Другие, делая умный, вид пытаются чему-то научить. Непорядок подумал я посмотрев на это дело и решил самостоятельно разобраться.
Парсинг телеграм каналов и чатов
В данной статье я постараюсь понятным языком (даже для далеких от программирования пользователей) рассказать, как парсить Телеграм, что можно сделать, а что нельзя и насколько это трудоемко. Заранее предупреждаю. Я не буду выкладывать готовые исходники, но покажу примеры для наглядности.
Всем известно, что в телеге существуют чаты и каналы, где иногда кучкуются большое количество пользователей. Стоит иметь список юзеров, например для рассылки или приглашений.
Парсер контактов телеграмм @TrafficPortPars_bot Обзор от Артема
Как правило под словом «парсинг» в контексте Telegram подразумевается получение списка пользователей чата или канала. Но иногда, еще и получение списка сообщений.
Кстати, если вас интересует деанон пользователя Телеграм, очень рекомендую прочитать статью «Как узнать информацию о пользователе Telegram».
Парсинг телеграм каналов
Канал — это площадка в Телеграм, где подписчикам разрешается только читать сообщения создателя канала. Писать коментарии юзеры не могут, за исключением тех случаев, когда к каналу Telegram привязан чат для комментариев. Тогда у пользователей появляется возможность комментировать сообщения канала.
Вы можете получить список подписчиков канала без привязанного к нему чата с комментариями, только если это ваш канал и у него менее 200 пользотелей. Если какое-то из этих условий не выполняется, парсинг Телеграм реализовать не получится и никто не сможет его провести, что бы вам там ни обещали. Может быть, в ближайщем будущем появятся новые способы, но на даннй момент рабочих способов не существует.
Если к каналу привязан чат с комментариями, тогда спарсить пользователей телеги вы сможете точно так же, как в случае с каким-ниобудь чатом.
Список сообщений на канале можно получить двумя способами: программно, через API Telegram и ручками, экспортом списка сообщений с помощью клиента.
Для этого в меню чата выбираем пункт «Экспорт».
После этого выбираем формат для экспорта и жмем «Сохранить».
Парсинг телеграм чатов
С чатами гораздо интереснее. Вручную вытащить список юзеров через стандартный клиент не получится, разве что сидеть с блокнотом и ручкой и выписывать всю интересующую информацию. Способ не очень, так что придется посмотреть в сторону родного API Телеграм или, если хотите упростить себе жизнь, на какую‑нибудь библиотеку, например Telethon.
Как искать и парсить чаты телеграм. Инструменты необходимые для работы.
В Telethon есть функция GetParticipantsRequest, которая получает на вход некую сущность (entity), а на выходе выдает список пользователей.
Итак, попробуем скормить ей какой‑нибудь чат.
Источник: spy-soft.net
Как получить список участников чата в Телеграм?
client.GetChatAsync(chatId: msg.Chat.Id) по описанию должен получить список участников чата(если бот является админом), но в итоге выводится только айди данного чата этим образом. Что делать?
Библиотеки:
— Telegram.Bot 16.0.1
if (msg.Text.StartsWith(«Лаура кто сегодня «) | msg.Text.StartsWith(«лаура кто сегодня «)) < var SplitPredictPhrase = msg.Text.Split(«Лаура кто сегодня «); var PredictPhrase = SplitPredictPhrase[+1]; String[] botText = < «Шар ясно показывает, что», «Древние боги гласят, что» >; Chat target_user = await client.GetChatAsync(msg.Chat.Id); String[] Parsed_target_user = < target_user.FirstName >; Random random_target_user = new Random(); Random random_botText = new Random(); await client.SendTextMessageAsync(chatId: msg.Chat.Id, $» «> сегодня «, parseMode: ParseMode.Html, disableWebPagePreview: true); >
- Вопрос задан 25 июл. 2022
- 2601 просмотр
Источник: qna.habr.com
После релиза сожорнер-бота в обратную связь поступают всякие интересные идеи. Например, меня попросили сделать простого бота, который бы показывал список участников заданного чата. Однако, на практике это оказалось совсем не так просто, как кажется…
На сегодняшний день Телеграм не дает боту просмотреть список пользователей в чате. (Ну, или я не нашел, как это можно сделать). Но при этом дает получить список админов чата.
Поэтому алгоритм работы бота такой:
Вот вроде бы и всё. Я не очень представляю, зачем это может быть нужно, но раз попросили, значит, зачем-то надо) Тестируем и не забываем делиться мыслями через обратную связь.
Если бот вам понравился, то его можно оценить в магазине ботов Телеграм.
Добавлено
Людей без ников не видно, точнее, вместо них — пустая строка, но даже если выводить их айдишники, то вам это ничего не даст)
Источник: s419.ru