Как получить всех пользователей в телеграмме в чате с telebot или запросить lib в Python? - PullRequest
1 голос
/ 08 января 2020

Я хочу получить список всех пользователей в моем канале / чате. Люди предлагают использовать telethon , но я не могу начать с telethone и хочу вместо этого использовать запросы. Можете ли вы помочь мне, пожалуйста?

Я пытался

import json 
import requests
URL = "https://api.telegram.org/bot{}/".format(TOKEN) 
url = URL + "getFullChat?chat_id={}".format(chat_id)
req = requests.get(url)

, где TOKEN - это идентификатор моего бота, а chat_id - это чат, где я хочу чтобы получить список от.

req.content

возвращает меня

b'{"ok":false,"error_code":404,"description":"Not Found"}'

https://core.telegram.org/method/channels.getFullChannel

https://core.telegram.org/method/messages.getFullChat

1 Ответ

0 голосов
/ 09 января 2020

Я решил свою проблему, вот код

from telethon.sync import TelegramClient 

api_id = XXX# int
api_hash = 'XXX'

client = TelegramClient('xxx', api_id, api_hash)

assert client.start()

if not client.is_user_authorized():
    client.send_code_request(bot_token)

entity=client.get_entity("@ChatUserName")
users = client.get_participants(entity)
print(len(users))

for i in users:
    print(i.id, i.username, i.first_name, i.last_name)
...