3

我有很多电报频道,他们以 24\7 格式发送消息

  • “购买usdjpy sl 145.2 tp 167.4”
  • “欧元卖出 sl 145.2 tp 167.4”
  • “欧元兑美元 sl 145.2 tp 167.4 卖出”

或者这些词以某种顺序

我的想法是创建一个应用程序来检查每个频道的消息,如果它是上述格式,则将其重定向到我的频道。

电报api允许吗?

4

8 回答 8

5

我使用telethonpython 模块编写了一个简单的 python 代码。代码的基本作用是通过电报客户端 api将来自各种电报频道的消息转发到您选择的频道。你可以在这里找到它。

使用客户端 api,可以从您的用户所属的组和频道中读取消息。不需要机器人。

telethon模块可以轻松过滤您想要阅读的消息。随意分叉项目并进行所需的更改。您应该在此处查看模块文档。

于 2019-02-10T20:46:22.547 回答
4

您不能使用机器人从电报频道中抓取信息,除非该机器人是频道中的管理员,只有所有者可以添加。

完成后,您可以通过收听channel_post更新轻松地将帖子重定向到您的频道。

于 2017-02-26T10:29:39.710 回答
4

为了能够从您不拥有的Telegram 频道中抓取消息,您需要开发自己的 Telegram 客户端,该客户端能够:

  1. 通过链接加入您想要的频道
  2. 转发消息,到达您的客户订阅的频道,到您自己的 Telegram 频道

为了开发您自己的 Telegram 客户端,您需要使用 MTProto 的一些实现。

您可以使用关键字 在https://github.com上找到很多 MTProto 的实现。mtproto

几个有据可查的实现示例:


但是,如果您唯一想要的是将现有 Telegram 频道的多个重定向到您自己的频道,那么为这个问题开发自己的解决方案可能会有点过头了。

有提供这种服务的应用程序。

例如,MultiFeed Bot允许您设置将消息从任何 Telegram 频道转发到您自己的 Telegram 频道。

这个机器人有一个灵活的过滤系统,所以它应该很容易设置过滤器来跳过某些类型的消息(广告、媒体内容等)并只留下你想在目标频道中看到的那些消息。

于 2018-07-24T22:09:53.640 回答
3

我用TdLib解决了类似的问题。他们的GitHub站点有完整的 C++、Java和 C# 示例,您可以对其进行修改。

我处理了 Java 示例,并将我的大部分更改应用于该UpdatesHandler.onResult方法(第 353 行)。C++ 和 C# 示例具有相似的结构。每当发生任何事件时,Td 都会调用此方法。因此,您可以在那里拦截它们。

如果您不确定从哪里开始,请先System.out.println在上述方法中的每个 case 语句中添加简单语句(如果使用 Java),并确保您阅读了入门指南

它们实际上有许多其他语言的示例(包括Python),但从我的角度来看,它们并不像我之前提到的三个那样完整。

于 2019-02-04T00:08:55.637 回答
2

使用 Full Telegram API 很容易做到这一点。

  • 首先在您的手机上订阅所有感兴趣的频道
  • 接下来,您开发一个简单的电报客户端,从这些渠道接收所有更新
  • 接下来,您构建一些解析器,可以理解频道消息并过滤掉您感兴趣的内容
  • 最后,您将过滤后的内容(重新格式化)发送到您自己的频道。

这就是所有需要的。

于 2017-02-24T14:40:13.840 回答
1

得到了这个问题的解决方案。这是一个自动将消息从一个通道转发到另一个通道而不带转发标签的机器人。而且复制速度是合法的!@copythatbot 这是每个人都在寻找的黄金工具。

于 2019-06-11T04:29:42.430 回答
1

根据您要使用的语言,您可以使用许多库来完成工作。

让我们以 python 为例,您可以使用 Telethon(用于用户或机器人)或“python电报机器人”等库。

这两个图书馆在他们所做的事情上都很棒。Telethon 是异步的,所以我更倾向于它。

要执行您要查找的内容,您需要捕获event.Message并使用 python 正则表达式re模块来匹配消息中的模式。

这是您要使用的代码Telethon

import re
from telethon import TelegramClient, sync, events

# These example values won't work. You must get your own api_id and
# api_hash from https://my.telegram.org, under API Development.
api_id = 12345
api_hash = '0123456789abcdef0123456789abcdef'

client = TelegramClient('session_name', api_id, api_hash).start()


@client.on(events.NewMessage(chats=('TelethonChat', 'TelethonOffTopic')))
async def message_regex(event):
    pattern = re.compile(".*145\.2 tp 167\.4.*", re.M)
    raw_text = event.raw_text

    if pattern.match(raw_text, raw_text):
        ## Pattern matched do something
        pass

您只需要更改 api 密钥,它应该可以正常工作。现在要添加其他内容,您将需要有关编程和 python 的知识。

如果您正在寻找一个简单的解决方案,您可以随时使用我制作的这个机器人@tg_feedbot

这是一个用于将消息从一个/多个组转发给其他组的机器人。它的工作方式是使用您的电报帐户,当消息来临时 - 如果您已配置它 - 它会看到它并将其重写到您想要的频道。您可以编辑消息的外观、过滤、延迟和更改字词。

这是一个免费的自动化解决方案Telegram User API ,它有一个简单易用的界面和文档

如果您热衷于自学,那么我建议您加入 Telegram 群组,例如Telethon>>> telegram.Bot()

于 2020-05-06T20:45:02.513 回答
1

这是你要找的吗? 电报转发机器人

在自述文件中:

简单的 Telegram Bot,用于在各种相关频道和群组之间轻松转发消息。

该机器人允许您在不同渠道之间自动转发消息。我们在学生委员会中使用它是因为我们为每个正在处理的委员会提供了 15 个不同的电报组。然后,如果我们希望某些佣金收到一些重要信息,我们可以在消息的开头使用主题标签(或媒体文件的标题)自动转发给他们。

我想我知道你的感受,我是交易员,我遵循各种预测渠道。但并非所有信息都是有用的(有时是广告)。希望这对你有用:)

于 2017-12-25T10:45:15.920 回答