mirror of
https://github.com/bellingcat/telegram-phone-number-checker.git
synced 2026-06-08 03:18:30 +03:00
57 lines
2.1 KiB
Python
57 lines
2.1 KiB
Python
#!/usr/local/bin/python3
|
|
from telethon import TelegramClient, events, sync
|
|
from telethon.tl.types import InputPhoneContact
|
|
from telethon import functions, types
|
|
|
|
result = {}
|
|
|
|
PHONE_NUMBER = '+31682321057'
|
|
API_ID = 2551274
|
|
API_HASH = '2e026c92beed662f859144ab5442efcd'
|
|
|
|
def get_names(phone_number):
|
|
try:
|
|
contact = InputPhoneContact(client_id = 0, phone = phone_number, first_name="__test__", last_name="__last_test__")
|
|
contacts = client(functions.contacts.ImportContactsRequest([contact]))
|
|
#first_name = contacts.to_dict()['users'][0]['first_name']
|
|
#last_name = contacts.to_dict()['users'][0]['last_name']
|
|
username = contacts.to_dict()['users'][0]['username']
|
|
del_usr = client(functions.contacts.DeleteContactsRequest(id=[username]))
|
|
if not username:
|
|
return f'No user name returned by the API for the number: {phone_number}'
|
|
else:
|
|
return username
|
|
except IndexError as e:
|
|
#err = "ERROR - maybe the user does not exist or something else went wrong."
|
|
return f'ERROR: there was no response for the phone number: {phone_number}'
|
|
except:
|
|
raise
|
|
|
|
|
|
def user_validator():
|
|
'''
|
|
The function uses the get_api_response function to first check if the user exists and if it does, then it returns the first user name and the last user name.
|
|
'''
|
|
input_phones = input("Phone numbers: ")
|
|
phones = input_phones.split()
|
|
try:
|
|
for phone in phones:
|
|
api_res = get_names(phone)
|
|
result[phone] = api_res
|
|
#if type(api_res) == tuple:
|
|
# result[phone] = { 'first name' : api_res[0], 'last name' : api_res[1] }
|
|
#else:
|
|
# result[phone] = api_res
|
|
except:
|
|
raise
|
|
|
|
|
|
if __name__ == '__main__':
|
|
client = TelegramClient(PHONE_NUMBER, API_ID, API_HASH)
|
|
client.connect()
|
|
if not client.is_user_authorized():
|
|
client.send_code_request(PHONE_NUMBER)
|
|
client.sign_in(PHONE_NUMBER, input('Enter the code (sent on telegram): '))
|
|
user_validator()
|
|
print(result)
|