我使用最新的 Telethon 框架。这实现了电报 API 的包装器。我想从频道中获取信息(标题、关于、参与者计数)和一些最近的消息,这些消息是从该消息转发给我的。怎么能做到这一点?
问问题
171 次
1 回答
0
我编写了这段代码并使用 <code>1.0.4 版本对其进行了测试:
from telethon import TelegramClient, sync
from telethon.tl.functions.messages import GetHistoryRequest
api_id = XXXXXX
api_hash = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
phone_number = '+9893XXXXXX'
################################################
channel_username = 'test_ali3'
################################################
client = TelegramClient('session_name',
api_id,
api_hash,
)
client.connect()
if not client.is_user_authorized():
client.send_code_request(phone_number)
me = client.sign_in(phone_number, input('Enter code: '))
channel_entity = client.get_entity(channel_username)
posts = client(GetHistoryRequest(
peer=channel_entity,
limit=1,
offset_date=None,
offset_id=0,
max_id=0,
min_id=0,
add_offset=0,
hash=0))
for post in posts.messages:
print(post)
您可以在 <strong>Chat 部分中查看转发消息的所有渠道的列表。(你可以得到title
, username
, channel_id
, photo
)
如果您想要更多信息(例如about
,participants_count
),您可以GetFullChannelRequest
在您的代码中使用:
例如 :
more_info1=client(GetFullChannelRequest(posts.chats[1]))
于 2018-08-22T19:07:49.940 回答