如何使用telethon库发送带有@ID电报的消息

How to send message with @ID telegram using telethon library

我想用 telethon 发送消息,但我没有 phone 这个号码。 我只有@username Telegram。 使用此代码,我可以为我的联系人 phone 发送消息:

result = client.invoke(ImportContactsRequest([contact], replace=True))
contacts = client.invoke(GetContactsRequest(""))
for u in result.users:
    client.send_message(u, 'Hi')

但我想发送消息给@username Telegram

您现在可以执行以下操作:

client.send_message('username', 'hello')

旧答案:

它在 Project's wiki 上,引用如下。

通过 ResolveUsernameRequest

"entity" 用于指代 User or a Chat (which includes a Channel). Perhaps the most straightforward way to get these is by resolving their username:

from telethon.tl.functions.contacts import ResolveUsernameRequest

result = client.invoke(ResolveUsernameRequest('username'))
found_chats = result.chats
found_users = result.users
# result.peer may be a PeerUser, PeerChat or PeerChannel

有关此结果的详细信息,请参阅 Peer