[英]How to get a telegram private channel id with telethon
嗨无法弄清楚如何解决这个问题,所以任何帮助将不胜感激。 我订阅了一个私人频道。 这个频道没有用户名,我也没有邀请链接(管理员刚刚添加了我)。 由于我在工作中使用这个频道,为了加快我想要使用 Telethon 处理频道上发布的消息的速度。
该方案的核心是:
@events.register(events.NewMessage(chats = my_private_channel))
async def handler(event):
#do things
问题是我无法过滤到达该特定频道 ID 的消息。 我得到错误:
ValueError: Cannot find any entity corresponding to "0123456789"
我尝试了不同的技术来获取我的频道 ID,但错误总是相同的。 尤其是:
但是当我将 ID 放入参数chats时,我总是得到上面报告的错误。
提前感谢,祝你有美好的一天
如果您有权访问该频道,则它会显示在您的聊天列表中。
你必须遍历你的聊天检查他们的标题,然后将所需的聊天存储在一个变量中:
my_private_channel_id = None
my_private_channel = None
async for dialog in tg.client.iter_dialogs():
if dialog.name == "private chat name":
my_private_channel = dialog
my_private_channel_id = dialog.id
break
if private_chat is None:
print("chat not found")
else:
print("chat id is", my_private_channel_id)
您可以过滤发送到 my_private_channel 的消息。
没有邀请链接,您无法加入私人频道,也无法获得任何有关该频道的信息。 顾名思义,它是私人的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.