You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Telethon导出聊天列表邀请链接时遇FilterNotSupportedError错误求助

问题原因

FilterNotSupportedError 是因为你使用的是普通自定义对话框过滤器(InputChatlistDialogFilter关联的filter_id),这类过滤器不支持导出邀请链接。Telegram API仅允许导出**专门创建的公开聊天列表(即公开文件夹)**的邀请,普通的对话框过滤器(比如手动在客户端创建的分类文件夹)不在支持范围内。

解决办法

你需要先创建一个可导出的公开聊天列表,再基于它生成邀请链接,具体步骤如下:

1. 创建可导出的公开聊天列表

使用CreateChatlistRequest创建新的公开聊天列表,指定要包含的公开频道/聊天:

from telethon import functions, types

# 定义要包含的公开会话(替换为实际的频道/聊天ID和access_hash)
include_peers = [
    types.InputPeerChannel(channel_id=123456, access_hash=0123456789),
    types.InputPeerChat(chat_id=789012)
]

# 创建可公开导出的聊天列表
create_result = client(functions.chatlists.CreateChatlistRequest(
    title='My Public Folder',
    peers=include_peers,
    exported=True  # 必须设置为True,标记为可公开导出的列表
))

# 获取新创建的聊天列表ID,用于后续导出邀请
chatlist_id = create_result.chatlist.id

2. 导出该聊天列表的邀请链接

使用刚刚创建的聊天列表ID,调用ExportChatlistInviteRequest:

invite_result = client(functions.chatlists.ExportChatlistInviteRequest(
    chatlist=types.InputChatlistDialogFilter(filter_id=chatlist_id),
    title='My Folder Invite',
    peers=include_peers  # 若创建聊天列表时已指定,此处可省略
))

print(invite_result.stringify())
关键注意点
  • 普通自定义过滤器(客户端手动创建的文件夹)无法导出邀请,必须通过CreateChatlistRequest并设置exported=True来创建专门的可导出聊天列表。
  • 确保include_peers中的会话都是公开可访问的(公开频道/公开聊天),私有会话无法生成公开邀请链接。
  • 创建聊天列表后,你也可以在Telegram客户端中看到这个“公开文件夹”,后续维护可通过API或客户端操作。

内容的提问来源于stack exchange,提问作者Golol Rossol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 21:59:54