向 telethon python telegram 中的联系人发送消息

sending message to contacts in telethon python telegram

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

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

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

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

要向联系人发送消息,您可以使用 telegram_client.py and has an example in InteractiveTelegramClient.py 中定义的 send_message 函数。

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

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

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

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

所以我认为您应该改用“0”:

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

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

from telethon.tl.functions.contacts import GetContactsRequest
contacts = client(GetContactsRequest(0))