如何通过电话号码删除联系人
how to delete contact by number telethon
进口:
from telethon import TelegramClient, events, sync
from telethon.tl.types import InputPhoneContact
from telethon import functions, types
代码:
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
该代码首先将 phone_number
添加到我们的联系人列表中,然后我们可以轻松获取他们的用户名。
在我们删除该联系人后,因为我们只需要他们的用户名。
但有些用户没有设置用户名,所以我们得到用户名 None
。
现在如何删除该联系人?
目前我使用 client(functions.contacts.DeleteContactsRequest(id=[username]))
,如果用户名是 None
.
,它将失败
根据docs,可以制作一个InputUser
,然后交给DeleteContactRequest
。
因为您已经有了用户,您可以:
client(functions.contacts.DeleteContactsRequest(id=[contacts.users[0]]))
进口:
from telethon import TelegramClient, events, sync
from telethon.tl.types import InputPhoneContact
from telethon import functions, types
代码:
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
该代码首先将 phone_number
添加到我们的联系人列表中,然后我们可以轻松获取他们的用户名。
在我们删除该联系人后,因为我们只需要他们的用户名。
但有些用户没有设置用户名,所以我们得到用户名 None
。
现在如何删除该联系人?
目前我使用 client(functions.contacts.DeleteContactsRequest(id=[username]))
,如果用户名是 None
.
根据docs,可以制作一个InputUser
,然后交给DeleteContactRequest
。
因为您已经有了用户,您可以:
client(functions.contacts.DeleteContactsRequest(id=[contacts.users[0]]))