@sunsexsurf
IT & creative

Как получить количество подписчиков канала в Telegram?

Добрый день. Для целей обогащения МЛ-модели я хотел бы собрать данные о количестве подписчиков канала в телеграме. Я не являюсь владельцем канала, однако хотел бы получить количество подписчиков. Подскажите, каким образом это можно сделать?
я попробовал метод getChatMemberCount и получил урл вида
https://api.telegram.org/bot{api_id}:{api_hash}/getChatMemberCount?chat_id=@{url_channel}
.
Однако такой запрос возвращает мне 401-ую ошибку: HTTPError: HTTP Error 401: Unauthorized, говоря, видимо, о том, что к данному каналу я отношения не имею. Скажите, есть какие-то варианты?
  • Вопрос задан
  • 2246 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Либо через бота, либо через клиентский API.

Через бота, нужно получить токен бота у @BotFather и вставить токен в ваш URL. Либо использовать любую удобную библиотеку:
import telebot

token = 'XXX'
channel = '@XYZ'

bot = telebot.TeleBot(token)
print(bot.get_chat_member_count(channel))


Через клиентский API и любую удобную библиотеку.
Данные можно взять на my.telegram.org

from telethon import TelegramClient, sync 
from telethon.tl.functions.channels import GetFullChannelRequest


api_id = ZZZ
api_hash = 'YYY'
channel_name = 'XXX'

client = TelegramClient('session_name', api_id, api_hash)
client.start()

channel_connect = client.get_entity(channel_name)
channel_full_info = client(GetFullChannelRequest(channel=channel_connect))
print(channel_full_info.full_chat.participants_count)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Demiarius
У меня это работает только в том случае, если есть @инвайт-имя канала. А как сделать то же самое по id-канала?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы