首页 > 编程问答 >如何使用 Python 在 Telegram 中进行标签搜索

如何使用 Python 在 Telegram 中进行标签搜索

时间:2024-07-26 09:26:10浏览次数:13  
标签:python telegram telethon

Telegram 最近添加了一项新功能,可以在所有公共频道中同时按主题标签进行搜索:

https://telegram.org/blog/message-effects-and-more#hashtag-search

如何进行此类搜索用蟒蛇? (Telethon,Python-Telegram-Bot,...)

我在 Telethon 文档中找到了这个函数:

https://tl.telethon.dev/methods/channels/search_posts.html#examples

但是我不确定这是不是我想要的函数!

from telethon.sync import TelegramClient
from telethon import functions, types

with TelegramClient(name, api_id, api_hash) as client:
    result = client(functions.channels.SearchPostsRequest(
        hashtag='some string here',
        offset_rate=42,
        offset_peer='username',
        offset_id=42,
        limit=100
    ))
    print(result.stringify())

我无法为这个函数设置一个好的偏移对等点!


是对的, channels.SearchPostsRequest 不是想要的函数。该函数用于搜索 特定频道 内的帖子,而不是在所有公共频道中搜索。

不幸的是,目前 Telethon 或 python-telegram-bot 都没有直接提供搜索所有公共频道中主题标签的功能。这是因为 Telegram API 本身没有提供这种特定的端点。

那么,有什么选择呢?

  1. 使用 Telegram 应用程序或网页版: 目前,搜索所有公共频道中主题标签的唯一方法是直接使用 Telegram 应用程序或网页版。

  2. 等待 API 更新: Telegram 可能会在未来的 API 更新中添加对全局主题标签搜索的支持。可以关注 Telethon 和 python-telegram-bot 的更新,看看是否有任何变化。

  3. 非官方方法 (不推荐): 一些非官方的库或方法可能会尝试抓取 Telegram 网页版来实现全局主题标签搜索。但是,这些方法通常不可靠,而且可能违反 Telegram 的服务条款。

关于提供的代码示例:

的代码示例中的 offset_peer 参数用于指定从哪个频道开始搜索,而不是搜索所有频道。如果想使用 channels.SearchPostsRequest 搜索特定频道内的主题标签,可以将 offset_peer 设置为该频道的用户名或 ID。

总而言之,目前没有直接使用 Python 在 Telegram 中进行全局主题标签搜索的官方方法。建议使用 Telegram 应用程序或网页版进行此类搜索,并关注 API 更新以获取任何潜在的变化。

标签:python,telegram,telethon
From: 78794524

相关文章

  • 使用 Python 构建一个简单的 REST API
    使用Python构建一个简单的RESTAPI简介本文档将引导您使用Python和Flask框架构建一个简单的RESTAPI。我们将创建一个API,用于管理一个虚拟的书籍数据库。准备工作Python环境:确保您的系统上安装了Python3.x。Flask框架:使用pip安装Flask:pipinstallFla......
  • python学习之闭包与装饰器
    一、闭包闭包允许一个函数访问并操作函数外部的变量(即父级作用域中的变量),即使在该函数外部执行。特性:(1)外部函数嵌套内部函数。(2)外部函数可以返回内部函数。(3)内部函数可以访问外部函数的局部变量。defout():print("我是外层")n=10defins():......
  • 如何正确处理Python中的可选功能
    我正在开发实现科学模型的python包,我想知道处理可选功能的最佳方法是什么。这是我想要的行为:如果无法导入某些可选依赖项(例如,在无头机器上绘制模块),我想在我的类中禁用使用这些模块的功能,警告用户如果他尝试使用它们以及所有这些,而不会破坏执行。所以下面的脚本在任何情况下......
  • 在Python中,对于一个数字列表,如何找到具有最大和的数字的连续子集范围?
    输入的一个示例可能是nums1=[-1,4,-3,5,-5]nums2=[-1,4]我想知道这里什么可能是有效的解决方案。谢谢。defmax_subarray_sum_range(nums):"""找到数字列表中具有最大和的连续子集范围。Args:nums:数字列表。Returns:一个包含最大和子集起......
  • 如何安装mysqlclient 1.4.6? (Python 3.6)MacO?
    我安装pipinstallmysqlclient==1.4.6--no-cache-dir但是出现错误:ld:library'ssl'notfoundclang:error:linkercommandfailedwithexitcode1(use-vtoseeinvocation)error:command'clang'failedwithexitstatus......
  • Numpythonic 方式从所需的时间步长和窗口大小构造窗口向量
    给定参数timestep=2window_size=3我已经展平了大小为9的时间序列向量。内容是:arr=np.array([1,2,3,4,5,6,7,8,9])如何使用这些参数重塑/构造窗口时间序列?我希望输出具有形状unknown,window_size)所以,它的输出将是这样的矩阵:windowed_arr=np......
  • Python - 检测字母模式而不迭代所有可能的组合
    对于可能不太有用的标题,我表示歉意,我不知道如何将这个问题总结为一句话。我正在尝试计算Python3.10中一个单词有多少个“单位”长。一个“单位”是(C表示辅音,V表示元音)CV或VC或C或V(后两者仅在没有配对时使用)可以制作)。例如,“件”将为三个单位......
  • scipy.fft (Python) 结果和 FFTW (C) 结果之间的微小差异
    我正在尝试使用C中的FFTW从Python中的一些已知工作代码重新创建结果。我发现结果中有一些小错误。scipy.fft我的输入数据是真实的3d,尺寸=(294,294,294)。我的scipy.fft调用如下所示:我的fftw代码如下所示这个:complex_data_out=scipy.fft.fftn......
  • 使用 Python 生成多页 PDF 报告,其中包含表格、页眉、页脚和可调整单元格数据(使用 repo
    我想在Python中生成带有表格、页眉、页脚和可调整单元格数据的多页PDF报告(使用reportlab)但是,由于奇怪的原因,字体大小并没有随着表格内容而改变......我尝试在这里改变:('FONTSIZE',(0,1),(-1,-1),24),#内容的字体大小但什么也没发生importtimefromreportlab......
  • Python 和 ReportLab。如何更改 Table 对象中的字体和字体大小?
    我需要更改表对象(ReportLab)中特定单元格的文本样式。据我了解,它可以通过TableStayle类完成,但我找不到示例。my_table=Table(data,colWidths=column_widths,rowHeights=row_heghts)my_colour_black=[0,0,0]my_colour_ligt_gray=[0.8,0.8,0.8]my_colour_gra......