首页 > 编程问答 >获取有关 telegram 中可共享文件夹的信息

获取有关 telegram 中可共享文件夹的信息

时间:2024-07-25 17:00:15浏览次数:7  
标签:python telegram pyrogram

我需要获取有关共享文件夹中包含的频道的信息,例如它们的 ID 或用户名。但编写时存在困难,telegram 声明该文件夹为空,尽管事实并非如此。我很高兴了解您获取这些数据的方法。谢谢。

链接类型: https://t.me/addlist /... 链接到有关常见链接的文档: https://core.telegram.org/api/folders#shared-folders

from pyrogram import Client, errors
from pyrogram.raw.functions import chatlists
import pyrogram.raw.types as types
import asyncio

api_id = ""
api_hash = ""
session_name = "lalala" 

# Создаем клиент Pyrogram
client = Client(session_name, api_id, api_hash)

async def subscribe_to_folder(client, folder_link, session_name):
    try:
        await client.start()
        slug = folder_link.split("/")[-1]

        check_chatlist_invite = await client.invoke(chatlists.CheckChatlistInvite(slug=slug))
        peers = check_chatlist_invite.peers

        if not peers:
            raise ValueError("Folder is empty")

        updates = await client.invoke(chatlists.JoinChatlistInvite(slug=slug, peers=peers))

        print(f"[{session_name}] Success: {folder_link}")

    except errors.UserAlreadyParticipant:
        print(f"[{session_name}] User already participant: {folder_link}")

    finally:
        await client.stop()

if __name__ == "__main__":
    link = "https://t.me/addlist/yourlink"
    asyncio.run(subscribe_to_folder(client, link, session_name))

了解到在尝试获取 Telegram 共享文件夹中频道信息时遇到了问题。提到尽管文件夹中存在频道,但 Telegram 返回为空。我无法直接访问和操作 Telegram 数据,包括提取文件夹内容。

但我可以提供一些解决此问题的思路:

1. 权限问题:

  • 确保拥有访问该共享文件夹的权限。某些文件夹可能需要管理员权限才能查看内容。
  • 尝试联系文件夹所有者,确认拥有查看内容的权限。

2. Telegram API 限制:

  • Telegram API 目前没有提供直接获取共享文件夹内容的官方方法。 https://core.telegram.org/api/folders#shared-folders 文档主要描述了客户端如何处理服务器发送的文件夹信息,而不是如何主动获取。
  • 提供的代码片段使用了 chatlists 相关 API,这通常用于处理公开频道列表,而不是私人共享文件夹。

3. 替代方法 (需谨慎使用):

  • 网页爬取: 可以尝试使用网页爬虫库(如 Beautiful Soup)解析 Telegram 网页版,但这违反了 Telegram 的服务条款,并且可能导致的帐户被封禁。
  • 非官方库: 存在一些非官方的 Telegram 库或工具,声称可以访问更多功能,包括获取文件夹内容。但使用这些工具存在风险,因为它们可能不安全或不可靠。

建议:

  • 联系 Telegram 支持: 向 Telegram 官方支持团队咨询,了解是否有获取共享文件夹内容的官方方法。
  • 重新考虑的需求: 如果可能,尝试寻找其他方法来实现的目标,例如直接请求文件夹所有者分享频道链接。

请记住,在使用 Telegram API 或任何第三方工具时,务必遵守 Telegram 的服务条款,以避免的帐户受到影响。

标签:python,telegram,pyrogram
From: 78792357

相关文章

  • 如何诊断和修复 python .\app.py 不工作
    我在vscode中激活了我的虚拟环境。在激活我的环境的PowerShell中,我成功安装了Flask。然后我在文件main.py中运行此代码:fromflaskimportFlaskapp=Flask(__name__)@app.route('/')defhello_world():return'Hello,World!'if__name__=="__main__":......
  • 【pywpsrpc/Python】改变图片宽高报错 对象无效属性: ‘tuple‘ object has no attrib
    概要开发UOS环境下,使用Python通过pywpsrpc库操作word文档在指定段落添加指定宽高的图片时意外发现的该问题,在原作者的github提问后获得解答后记录(源码地址、对应提问链接以及相关资料链接贴在文章末尾)。原因及解决方式首先贴一段简单的代码,作用是新建一个word文档并在其......
  • Python - 如何使用存储在类变量中的类型作为同一类方法的参数的类型提示?
    考虑下面的代码:fromtypingimportProtocol,ClassVar,AnyclassTool(Protocol):t:ClassVar#deff(self,params:self.t)->Any:#NameError:name'self'isnotdefineddeff(self,params)->Any:passclassSum:......
  • 从Python列表中提取值
    代码图片我只想从.dat文件中提取单个值,到目前为止,我已经成功提取了我想要的值,但我将各个字符串添加在一起。它非常笨重,所以寻找一种更平滑的方法,它只会给我行中的第一个值(-300)。谢谢代码:current_dir=os.getcwd()work_dir="\workDir"......
  • 如何从另一个 python 文件运行一个 python 文件
    我正在尝试从另一个python运行一个python文件,但是当涉及到调用另一个python文件中的方法时,它只会重新运行当前的python文件。我尝试了这段代码。我将导入放入log_user_in方法中,因为如果我将其导入到文件顶部,则会出现循环导入错误。这是我的代码片段fromtkinter......
  • 如何在Mac电脑上安装Python 2
    Python是一种高级编程语言,广泛应用于数据科学、网络开发、人工智能等领域。本文将介绍如何在Mac电脑上安装Python2,帮助初学者快速入门。一、下载Python2安装包在Python官网上下载Python2的安装包,网址为https://www.python.org/downloads/release/python-2718/ 。下载完......
  • 我的 python 抓取数据是空的,不确定我的代码出了什么问题
    我的结果是空的,不确定我的代码出了什么问题:这里是我的代码:#尝试从该网站获取数据https://www.watsons.com.sg/health/c/2100000?currentPage=1importrequestsfrombs4importBeautifulSoupimportpandasaspd#Settingdisplayoptionsforpandaspd.......
  • Chrome 浏览器更新后,我的 python tagui 代码工作不稳定。问题的解决方法是什么
    我编写了一个pythontagui脚本来在chrome中操作Intranet网页。它运行良好。但是在chrome浏览器更新后,脚本每次都会在某个时刻随机停止,并且也不会抛出错误。请帮忙。我尝试重新启动电脑,但这并没有解决问题。Chrome浏览器更新后,TagUI脚本工作不稳定的问题可能由以......
  • 如何从另一个文件运行 python 文件
    我正在尝试从另一个名为LoginOrReg的文件运行一个名为HabitTracker的python文件,但是当我这样做时,它会重新运行LoginOrReg文件。我已经尝试过这个classLoginOrReg:def__init__(self,db,cursor,login_username,data):self.db=mysql.connector.......
  • Python的字典和集合
    一、字典1.定义字典字典和列表虽然类似,但是字典是无序的可变序列,并且可以像查字典一样去查找。字典的元素都是成对出现的,每个元素都是由冒号“:”和键值对(“:”左边的称为键或者Key,“:”右边的称为值或者Value)构成的,用“{}”标识,元素之间用逗号“‘,”分隔。字典的键必须是唯一......