Skip to content

Commit f242ace

Browse files
committed
Add vCard support for contacts
1 parent b6a4dee commit f242ace

3 files changed

Lines changed: 22 additions & 8 deletions

File tree

pyrogram/client/ext/utils.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,7 @@ def parse_messages(
360360
phone_number=media.phone_number,
361361
first_name=media.first_name,
362362
last_name=media.last_name or None,
363+
vcard=media.vcard or None,
363364
user_id=media.user_id or None
364365
)
365366
elif isinstance(media, types.MessageMediaVenue):

pyrogram/client/methods/messages/send_contact.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ def send_contact(self,
2626
phone_number: str,
2727
first_name: str,
2828
last_name: str = "",
29+
vcard: str = "",
2930
disable_notification: bool = None,
3031
reply_to_message_id: int = None,
3132
reply_markup=None):
@@ -47,6 +48,9 @@ def send_contact(self,
4748
last_name (``str``, *optional*):
4849
Contact's last name.
4950
51+
vcard (``str``, *optional*):
52+
Contact's vCard information.
53+
5054
disable_notification (``bool``, *optional*):
5155
Sends the message silently.
5256
Users will receive a notification with no sound.
@@ -68,9 +72,10 @@ def send_contact(self,
6872
functions.messages.SendMedia(
6973
peer=self.resolve_peer(chat_id),
7074
media=types.InputMediaContact(
71-
phone_number,
72-
first_name,
73-
last_name
75+
phone_number=phone_number,
76+
first_name=first_name,
77+
last_name=last_name,
78+
vcard=vcard
7479
),
7580
message="",
7681
silent=disable_notification or None,

pyrogram/client/types/media/contact.py

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,16 @@ class Contact(Object):
3838

3939
ID = 0xb0700011
4040

41-
def __init__(self, phone_number: str, first_name: str, last_name: str = None, user_id=None):
42-
self.phone_number = phone_number # string
43-
self.first_name = first_name # string
44-
self.last_name = last_name # flags.0?string
45-
self.user_id = user_id # flags.1?int
41+
def __init__(
42+
self,
43+
phone_number: str,
44+
first_name: str,
45+
last_name: str = None,
46+
vcard: str = None,
47+
user_id: int = None
48+
):
49+
self.phone_number = phone_number
50+
self.first_name = first_name
51+
self.last_name = last_name
52+
self.vcard = vcard
53+
self.user_id = user_id

0 commit comments

Comments
 (0)