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 本身没有提供这种特定的端点。
那么,有什么选择呢?
-
使用 Telegram 应用程序或网页版: 目前,搜索所有公共频道中主题标签的唯一方法是直接使用 Telegram 应用程序或网页版。
-
等待 API 更新: Telegram 可能会在未来的 API 更新中添加对全局主题标签搜索的支持。可以关注 Telethon 和 python-telegram-bot 的更新,看看是否有任何变化。
-
非官方方法 (不推荐): 一些非官方的库或方法可能会尝试抓取 Telegram 网页版来实现全局主题标签搜索。但是,这些方法通常不可靠,而且可能违反 Telegram 的服务条款。
关于提供的代码示例:
的代码示例中的
offset_peer
参数用于指定从哪个频道开始搜索,而不是搜索所有频道。如果想使用
channels.SearchPostsRequest
搜索特定频道内的主题标签,可以将
offset_peer
设置为该频道的用户名或 ID。
总而言之,目前没有直接使用 Python 在 Telegram 中进行全局主题标签搜索的官方方法。建议使用 Telegram 应用程序或网页版进行此类搜索,并关注 API 更新以获取任何潜在的变化。
标签:python,telegram,telethon From: 78794524