DEV Community

Cover image for Checking if a phone number is on Telegram, using TDLib and Python

Checking if a phone number is on Telegram, using TDLib and Python

- on January 28, 2021

This may come in handy if you plan to migrate, for example, an existing WhatsApp group. A good number of users that have already migrated may be a ...
Collapse
 
hafizusman924 profile image
Usman Ali

TypeError Traceback (most recent call last)
in ()
12 response.wait()
13 counter += 1
---> 14 user_ids = response.update['user_ids']
15 if user_ids[0] == 0:
16 print('This contact is NOT using Telegram.'+value)

TypeError: 'NoneType' object is not subscriptable

After Running this code i check only 1000 number and after this this code stop working. Because number error. when i change phone number this code again start working perfectly. Can you please guide me who i can avoid this error?

!python3 -m pip install python-telegram
from google.colab import drive
drive.mount('/content/drive')

import pandas as pd
from telegram.client import Telegram

tg = Telegram(
api_id='Write Your Api',
api_hash='Write Your Hash',
phone='Write you Number',
database_encryption_key='hisunny1',
)

tg.login()
from time import sleep

counter = 0
tel_num = []
for x, value in df.Number.iteritems():

response = tg.call_method('importContacts', {
'contacts': [
{'phone_number': '+'+value},
]
})
response.wait()
counter += 1
user_ids = response.update['user_ids']
if user_ids[0] == 0:
print('This contact is NOT using Telegram.'+value)
sleep(15)
else:
print(f'¡This contact({user_ids[0]}) uses Telegram!'+value)
tel_num.append('+'+value)
sleep(15)

Collapse
 
laurxn profile image
- • Edited

Sorry, I cannot help you these days. It would require me to setup the environment and to dig into a documentation I haven't went through in months.

But it seems like an API restriction. I would suggest you to debug/inspect the response object 🐞

By the way: it might be a good idea to use Markdown to format your code snippets 🎨 That makes it easier for other people to help you.

Cheers!

Collapse
 
hafizusman924 profile image
Usman Ali

Thanks for your reply. Could you please take a look whenever you free.

Thread Thread
 
alexkolzov profile image
alexkolzov

Are you solve this problem?

Collapse
 
trn21 profile image
trn21

hi luis...
every time i am getting "this contact is not using telegram" even if the contact is on telegram. please help me..

Collapse
 
laurxn profile image
-

🤔 Interesting. Did you checked if it was because of that user's privacy settings?

Collapse
 
trn21 profile image
trn21

but how it depends on privacy, the script is getting only response from api.

Collapse
 
amirmohamad profile image
Amir-Mohamad

how can i get access to the username of that user instead of id

Collapse
 
komiljonov profile image
KOMILJONOV

Hello how can i get

database_encryption_key

Collapse
 
laurxn profile image
-

Hey. It can be whatever you want. Just like a password, make sure it's a strong one!

Collapse
 
spidermanir profile image
Siavash • Edited

Hi Luis,
i'm run this code but it gives Error:
user_ids = response.update['user_ids']
TypeError: 'NoneType' object is not subscriptable

response.wait() returns None

Collapse
 
laurxn profile image
-

Hey! I ran the snippets once again and they still work as expected. Maybe check that you are actually authenticating the client.