forked from k0t3n/telegram_parser
/
collect_users.py
42 lines (28 loc) · 929 Bytes
/
collect_users.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
from telegram import ApiHandler
from database.models import Message, User
from settings import *
def main():
print('Starting script...')
client = ApiHandler(API_ID, API_HASH)
print('Auth - successfully!')
messages = Message.select()
print('Getting messages...\nGot {} messages'.format(len(messages)))
user_ids = []
for message in messages:
if message.from_id and message.from_id not in user_ids:
try:
user_ids.append(message.from_id)
except Exception:
pass
print('Got {} unique users'.format(len(user_ids)))
users = client.get_users(user_ids)
for user in users:
User.get_or_create(
user_id=user['id'],
username=user['username'],
first_name=user['first_name'],
last_name=user['last_name']
)
print('Done!')
if __name__ == '__main__':
main()