Skip to content
Advertisement

how to delete contact by number telethon

Imports:

from telethon import TelegramClient, events, sync
from telethon.tl.types import InputPhoneContact
from telethon import functions, types

Code:

phone_number = "some_friend_phone_no"
contact = InputPhoneContact(client_id=0, phone=phone_number, first_name="first", last_name="last") #enter phone number with settings
contacts = client(functions.contacts.ImportContactsRequest([contact])) #import that number to contacts
if len(contacts.users) > 0: #if user exists on telegram
    username = contacts.users[0].username #then insert user value into username variable
    if username is not None: #if username is not empty
        client(functions.contacts.DeleteContactsRequest(id=[username])) #then DELETE that contact

That code first add an phone_number to our contacts list and after we can easily get their username.

After we delete that contact as we just needed their username.

But some users don’t have set username so we get username as None.

Now how to remove that contact ? Currently I use client(functions.contacts.DeleteContactsRequest(id=[username])), which will fail if username is None.

Advertisement

Answer

According to the docs, you can make an InputUser and then give it to DeleteContactRequest.

As you already have the user, you can:

client(functions.contacts.DeleteContactsRequest(id=[contacts.users[0]]))
User contributions licensed under: CC BY-SA
1 People found this is helpful
Advertisement