我尝试通过频道ID获取频道名称:
result = self._client(GetHistoryRequest(
entity,
limit=100,
offset_date=None,
offset_id=0,
max_id=0,
min_id=last_read_message_id,
add_offset=0
))
for message in result.messages:
if isinstance(message.fwd_from, MessageFwdHeader):
fwd_channel_id = message.fwd_from.channel_id
if fwd_channel_id:
fwd_result = self._client(GetFullChannelRequest( # problem!!!
InputPeerChannel(message.fwd_from.channel_id, 0)
))
message.fwd_from
看起来像:
fwd_from=MessageFwdHeader(
channel_id=1053596007,
date=datetime.fromtimestamp(1507891987.0),
post_author=None, # None!!!
from_id=None,
channel_post=3030
),
所以,我不能从message.fwd_from
中取频道名。而且我也不加入这个频道。
当我尝试调用GetFullChannelRequest
时,出现下一个错误:
ChannelInvalidError(...),'无效的通道对象。请确保传递正确的类型,例如,确保请求是为通道设计的,或者查找其他更合适的类型。'
如何正确获取频道名称?
2条答案
按热度按时间gk7wooem1#
在这里回答
示例:
rqcrx0a62#
在最新版本
telethon
中,您可以在消息对象中搜索它,例如从它的通道名称对于用户