add new contact in api telegram python telethon

匿名 (未验证) 提交于 2019-12-03 00:54:02

问题:

How do I save a number in the 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 i need module for add contact?

回答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.



回答2:

Here's how you'd do it using daniil.it/MadelineProto:

try {      $MadelineProto = \danog\MadelineProto\Serialization::unserialize('session.madeline'); // Unserialize a stored session, if you haven't saved it yet, login first, see below } catch (\danog\MadelineProto\Exception $e) { // If      $MadelineProto = new \danog\MadelineProto\API();     // 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');


回答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



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!