我使用最新的telethon框架。这实现了电报API的包装器。 我想从频道中获取信息(标题,关于,participant_count)和一些最近的消息,该消息从该消息转发给我。 该怎么办?
答案 0 :(得分:0)
我编写了这段代码,并使用 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)
您可以在 聊天部分中查看转发邮件的所有渠道的列表。 (您可以获得title
,username
,channel_id
,photo
)
如果您想了解更多信息(例如about
,participants_count
),可以在代码中使用GetFullChannelRequest
:
例如:
more_info1=client(GetFullChannelRequest(posts.chats[1]))