skip to Main Content

How do I save a number in my contacts in telethon python?

from telethon import TelegramClient
from telethon.tl.functions.contacts import GetContactsRequest
from telethon.tl.types import InputPeerUser
client = TelegramClient('arta0', api_id, api_hash)
client.connect()
#number=+19133704541
#name='ali karimi'

What module do I need to add contact?

4

Answers


  1. You can create a contact like this:

    contact = InputPhoneContact(client_id = 0, phone = "+12345678", first_name="ABC", last_name="abc")
    
    result = client.invoke(ImportContactsRequest([contact], replace=True))
    

    To create a new contact you need to pass 0 for the client_id.

    Login or Signup to reply.
  2. Here’s how you’d do it using daniil.it/MadelineProto:

    try {
         $MadelineProto = danogMadelineProtoSerialization::unserialize('session.madeline'); // Unserialize a stored session, if you haven't saved it yet, login first, see below
    } catch (danogMadelineProtoException $e) { // If 
        $MadelineProto = new danogMadelineProtoAPI();
        // Login as a user
        $sentCode = $MadelineProto->phone_login($number);
        echo 'Enter the code you received: ';
        $code = '';
        for ($x = 0; $x < $sentCode['type']['length']; $x++) {
            $code .= fgetc(STDIN);
        }
        $MadelineProto->complete_phone_login($code);
    }
    $inputContacts = [];
    $inputContacts[0] = ['_' => 'inputPhoneContact', 'client_id' => 0, 'phone' => '+172737', 'first_name' => 'first', 'last_name' => 'last', ];
    $inputContacts[1] = ['_' => 'inputPhoneContact', 'client_id' => 0, 'phone' => '+172737', 'first_name' => 'first', 'last_name' => 'last', ];
    // You can add maximum 4000000000 contacts
    
     $contacts_ImportedContacts = $MadelineProto->contacts->importContacts(['contacts' => $InputContacts, 'replace' => false, ]);
    
     $MadelineProto->serialize('session.madeline');
    
    Login or Signup to reply.
  3. contact = InputPhoneContact(client_id=0, phone='+918962141530', first_name='<First Name its required field>', last_name='<Last Name its optional field>')
    
    client.invoke(ImportContactsRequest[contact],replace=True ))
    *** TypeError: __init__() got an unexpected keyword argument 'replace'
    

    You can use

    result = client.invoke(ImportContactsRequest([contact]))
    

    After add contact in list you can show all user list

    contacts = client(GetContactsRequest(0))
    

    Iterate contacts and show all users info

    Login or Signup to reply.
  4. You can create a new contact like this:

    from telethon.sync import TelegramClient
    from telethon import TelegramClient
    from telethon.tl.functions.messages import AddChatUserRequest
    from telethon.tl.types import InputPhoneContact
    from telethon.tl.functions.contacts import ImportContactsRequest
    from telethon import functions, types
    
    # Create Client Object
    api_id = xxxxxxx
    api_hash = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    phone = '+xxxxxxxxxxxx'
    
    # Login
    client = TelegramClient(phone, api_id, api_hash)
    
    client.connect()
    if not client.is_user_authorized():
       client.send_code_request(phone)
       client.sign_in(phone, input('Enter the code: '))
    
    # add user to contact
    phoneNum= "+98xxxxxxxxxx"
    contact = InputPhoneContact(client_id=0, phone=phoneNum, first_name="", last_name="")
    result = client(ImportContactsRequest([contact]))
    

    To create a new contact you need to pass 0 for the client_id.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search