如何查看所有联系人并向他们发送消息? 我使用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 :(得分:4)
只需将此行添加到您的代码中:
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")
如果您在下面需要更多详细信息,我会尽力回复。
答案 1 :(得分:1)
发送空字符串并不适合我:
contacts = client.invoke(GetContactsRequest(""))
*** struct.error: required argument is not an integer
所以我认为你应该使用' 0'代替:
contacts = client.invoke(GetContactsRequest(0))
print(contacts)
答案 2 :(得分:0)
我认为在新的更新client.invoke()
中未定义。
我使用了以下代码,它对我有用。
from telethon.tl.functions.contacts import GetContactsRequest
contacts = client(GetContactsRequest(0))