2017-06-16 113 views
2

如何查看我的所有聯繫人並向他們發送消息? 我使用Telethon(API電報python)。發送消息給遠程蟒蛇電報中的聯繫人

from telethon.tl.functions.contacts import ResolveUsernameRequest 
from telethon.tl.types import InputChannelEmpty 
from telethon import TelegramClient 
from telethon.tl.types.messages import Messages 
from telethon.tl.types.contacts import Contacts 
api_id = 1**** 
api_hash = '5fbd2d************************' 
client = TelegramClient('arta0', api_id, api_hash) 
client.connect() 
+0

不要粘貼api_hash和ID在這裏。它可以被濫用。 – apadana

回答

2

只是這行添加到您的代碼:

contacts = client.invoke(GetContactsRequest("")) 
print(contacts) 

,你應該看到在結果中的聯繫人。

要發送消息給聯繫人,您可以使用telegram_client.py中定義的send_message函數,並在InteractiveTelegramClient.py中有一個示例。

for u in contacts.users: 
    client.send_message(InputPeerUser(u.id, u.access_hash), "hi") 

如果您在下面需要更多詳細信息,我會盡力回覆。

+0

坦克(apadana我認爲你是波斯人和我)是工作前兆..現在我怎麼可以發送信息給我的聯繫人.. – netdevil

+0

'client.send_message(u.id,u.access_hash),「嗨」 )''NameError:name'InputPeerUser'is not defined' – netdevil

+0

添加此導入:from telethon.tl.types.input_peer_user import InputPeerUser – apadana

1

發送空字符串並沒有爲我工作:

contacts = client.invoke(GetContactsRequest("")) 
*** struct.error: required argument is not an integer 

所以,我認爲你應該使用 '0',而不是:

contacts = client.invoke(GetContactsRequest(0)) 
print(contacts)