Telethon如何获得一个号码所属的所有频道的列表?

2024-05-19 19:42:30 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的python项目中,使用telethon库,我需要一个我的手机所属的频道列表(它可以包括其他类型的聊天,但我只需要这些频道),不管我的号码是否是管理员

我需要的所有信息都是频道的ID和标题,有没有办法做到这一点?在文档中,我找到了方法GetChannelsRequest,但未能实例化它。我尝试过这个,但它是错误的,因为我需要不同的数据类型,但我不知道如何使用它

async def get_all_channels():
    try:
        me = await client.get_input_entity(await client.get_me())
        channels = await client(GetChannelsRequest(  # Expected type 'List[Union[InputChannelEmpty, InputChannel, InputChannelFromMessage]]'
            [await client.get_entity('me')]  # got 'Union[User, Chat, Channel]' instead
            # [await client.get_input_entity('me')]  # got 'Union[InputPeerEmpty, InputPeerSelf, InputPeerChat, InputPeerUser, InputPeerChannel, InputPeerUserFromMessage, InputPeerChannelFromMessage]' instead
        ))
    except:
        return traceback.format_exc()

我刚开始学习图书馆。我所属的团体,如果是私人团体,实现这一目标是否存在问题


Tags: 项目clientinputgetawait频道meentity
1条回答
网友
1楼 · 发布于 2024-05-19 19:42:30

使用^{}循环您的聊天,并检查该对话框是否是带有dialog.is_channel的频道

async for dialog in client.iter_dialogs():
    if dialog.is_channel:
        print(f'{dialog.id}:{dialog.title}')

相关问题 更多 >