Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from telethon import events
- from telethon import TelegramClient, sync
- from telethon.sync import TelegramClient
- from telethon.tl.functions.messages import GetDialogsRequest
- from telethon.tl.types import InputPeerEmpty
- from telethon.sync import TelegramClient
- from telethon.tl.functions.messages import GetDialogsRequest
- from telethon.tl.types import InputPeerEmpty, InputPeerChannel, InputPeerUser
- from telethon.errors.rpcerrorlist import PeerFloodError, UserPrivacyRestrictedError
- from telethon.tl.functions.channels import InviteToChannelRequest
- import sys
- import csv
- import traceback
- import time
- api_id = 2573921
- api_hash = '274951c65ebf767ec4f9c43ef7b3ed99'
- phone = '972543362858'
- client = TelegramClient(phone, api_id, api_hash)
- client.connect()
- if not client.is_user_authorized():
- client.send_code_request(phone)
- client.sign_in(phone, input('Enter the code: '))
- chats = []
- last_date = None
- chunk_size = 200
- groups=[]
- result = client(GetDialogsRequest(
- offset_date=last_date,
- offset_id=0,
- offset_peer=InputPeerEmpty(),
- limit=chunk_size,
- hash = 0
- ))
- chats.extend(result.chats)
- for chat in chats:
- try:
- if chat.megagroup== True:
- groups.append(chat)
- except:
- continue
- print('Choose a group to scrape members from:')
- i=0
- for g in groups:
- print(str(i) + '- ' + g.title)
- i+=1
- g_index = input("Enter a Number: ")
- target_group=groups[int(g_index)]
- print('Fetching Members...')
- all_participants = []
- all_participants = client.get_participants(target_group, aggressive=True)
- print('Saving In file...')
- with open("members.csv","w",encoding='UTF-8') as f:
- writer = csv.writer(f,delimiter=",",lineterminator="\n")
- writer.writerow(['username','user id', 'access hash','name','group', 'group id'])
- for user in all_participants:
- if user.username:
- username= user.username
- else:
- username= ""
- if user.first_name:
- first_name= user.first_name
- else:
- first_name= ""
- if user.last_name:
- last_name= user.last_name
- else:
- last_name= ""
- name= (first_name + ' ' + last_name).strip()
- writer.writerow([username,user.status,user.access_hash,name,target_group.title, target_group.id, user.id])
- print('Members scraped successfully.')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement