skip to Main Content

I have many telegram channels, 247 they send messages in the format

  • “buy usdjpy sl 145.2 tp 167.4”
  • “eurusd sell sl 145.2 tp 167.4”
  • “eurusd sl 145.2 tp 167.4 SELL”

or these words in some order

My idea is to create app that checks every channel’s message, and redirects it to my channel if it is in the above format.

Does telegram api allow it?

8

Answers


  1. This is very easy to do with Full Telegram API.

    • first on your mobile phone subscribe to all the interested channels
    • Next you develop a simple telegram client the receives all the updates from these channels
    • Next you build some parsers that can understand the channel messages and filter out what you are interested in
    • Finally you send the filtered content (re-formatted) to your own channel.

    that’s all that is required.

    Login or Signup to reply.
  2. You cannot scrape from a telegram channel with a bot, unless, the bot is an administrator in the channel, which only the owner can add.

    Once that is done, you can easily redirect posts to your channel by listening for channel_post updates.

    Login or Signup to reply.
  3. Is this what are you looking for? telegram-forward-bot

    In the readme file:

    Simple Telegram Bot for forwarding messages easily between various related channels and groups.

    This bot allows you to automatically forward messages between different channels. We use it on our Student Comitee because we have like 15 different Telegram groups for each commission we are working on. Then, if we want some commission receives some important information, we can automatically forward to them using hashtags at the beggining of the message (or the caption of a media file).

    I think I know your feeling, I’am trader and I follow various prediction channel. But not all of the information is usefull (sometimes ads). Hope this work for you 🙂

    Login or Signup to reply.
  4. In order to be able to scrape messages from Telegram channels that you do not own, you need to develop you own Telegram client that is capable of:

    1. Joining your desired channels by links
    2. Forwarding messages, arriving to the channels your client is subscribed to, to your own Telegram channel

    In order to develop your own Telegram client, you need to use some implementation of MTProto.

    You can find a lot of implementations of MTProto on https://github.com using mtproto keyword.

    A few examples of well-documented implementations:


    But probably it would be an overkill to develop your own solution to this problem if the only thing you want is to have several redirections from existing Telegram channels to your own channel.

    There are applications that provide such a service.

    For example, there is MultiFeed Bot that allows you to setup forwarding of messages from any Telegram channels to your own Telegram channel.

    This bot has a flexible filtering system so it should be pretty easy to setup filters to skip certain types of messages (ads, media content and etc.) and to leave only those messages that you want to see in your destination channel.

    Login or Signup to reply.
  5. I solved a similar problem with TdLib. Their GitHub site has full C++, Java and C# examples that you can just modify.

    I worked on the Java example, and applied most of my changes to the UpdatesHandler.onResult method (line 353). The C++ and C# examples have a similar structure. This method gets called by Td whenever any event occurs. Hence you can just intercept them there.

    If you’re not really sure where to begin, start by adding simple System.out.println statements (if using Java) to each of the case statements in the aforementioned method, and make sure you read the starting guide.

    They actually have examples for many other languages (Python included), but from my point of view they are not as complete as the three I mentioned before.

    Login or Signup to reply.
  6. I have written a simple python code, using the telethon python module.
    What the code basically does, is forwarding messages from various telegram channels through the telegram client api to a channel of your choosing. You can find it here.

    Using the client api, one is able to read messages from groups and channels that your user is a part of. No bots required.

    The telethon module makes it easy to filter messages that you want to be read. Feel free to fork the project and make the desired changes. You should look at the module documentation here.

    Login or Signup to reply.
  7. Got the solution to this problem.
    Here is bot which automatically forwards messages from one channel to another without the forward tag.
    Moreover the copying speed is legit!
    @copythatbot
    This is the golden tool everyone is looking for.

    Login or Signup to reply.
  8. Depending on the language you want to use there are many libraries you can use to get the job done.

    Let’s take for example python, you can use libraries such as Telethon (for both user or bots) or "python telegram bot".

    Both libraries are fantastic on what they do. Telethon is async so I kinda lean more towards it.

    To do what your looking for you will need to catch the event.Message and use python regex re module for matching patterns from the messages.

    Here’s the code you want using 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
    

    You just need to change the api keys and it should work properly. Now to add other things you will need knowledge about programming and python.

    If you are looking for a simple solution you can always use this bot I’ve made @tg_feedbot

    This is a bot used for forwarding messages from one/multiple groups to others. The way it works is by using your telegram account and when a message comes – if you have configured it so – it sees it and rewrites it to the channels you want. You can edit the way the message looks, filter it, delay and change words.

    It’s a free solution for automating Telegram User API and it has a simple to use interface together with documentation

    If you are keen on learning yourself then I would suggest you to join Telegram groups such as Telethon or >>> telegram.Bot()

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search