3

如何查看我的所有联系人并向他们发送消息?我使用 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()
4

3 回答 3

5

只需将此行添加到您的代码中:

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

您应该会在结果中看到联系人。

要向联系人发送消息,您可以使用在telegram_client.pysend_message中定义的函数,并在InteractiveTelegramClient.py中有一个示例。

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

如果您需要更多详细信息,请在下面发表评论,我会尽力回复。

于 2017-06-16T06:40:39.660 回答
1

发送空字符串对我不起作用:

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

所以我认为你应该使用 '0' 代替:

contacts = client.invoke(GetContactsRequest(0))
print(contacts)
于 2018-02-17T09:45:59.023 回答
1

我认为在新的更新client.invoke()中没有定义。我使用了以下代码,它对我有用。

from telethon.tl.functions.contacts import GetContactsRequest
contacts = client(GetContactsRequest(0))
于 2020-03-14T12:41:44.587 回答