2017-06-16 5 views
2

Wie kann ich alle meine Kontakte sehen und ihnen Nachrichten senden? Ich verwende Telethon (API-Telegramm Python).Senden von Nachrichten an Kontakte in Telethon Python-Telegramm

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

nicht Ihre api_hash und id hier fügen Sie. Es kann missbraucht werden. – apadana

Antwort

2

Gerade diese Zeile Code hinzufügen:

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

Und Sie sollten die Kontakte im Ergebnis sehen.

Um Nachrichten an Kontakte zu senden, können Sie die in telegram_client.py definierte Funktion send_message verwenden und ein Beispiel in InteractiveTelegramClient.py.

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

Wenn Sie weitere Informationen benötigen, kommentieren Sie unten und ich werde versuchen, zu antworten.

+0

tanks (apadana ich denke, du bist persisch und ich zu) ist Arbeit für mich..now, wie ich Nachricht für meinen Kontakt senden kann .. – netdevil

+0

'client.send_message (InputPeerUser (u.id, u.access_hash)," hi ") '' NameError: Name 'InputPeerUser' ist nicht definiert ' – netdevil

+0

diesen Import hinzufügen: von telethon.tl.types.input_peer_user import InputPeerUser – apadana

1

leere Zeichenfolge Senden nicht für mich gearbeitet:

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

Also ich denke, Sie sollten stattdessen '0' verwenden:

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