The ultimate tool to automate custom telegram message forwarding. Live-syncer, Auto-poster, backup-bot, cloner, chat-forwarder, duplicator, ... Call it whatever you like! tgcf can fulfill your custom needs.

aahnik aahnik Last update: Dec 31, 2023

tgcf logo

tgcf

The ultimate tool to automate custom telegram message forwarding.

GitHub license GitHub stars GitHub issues PyPI Twitter

Code Quality

Live-syncer, Auto-poster, backup-bot, cloner, chat-forwarder, duplicator, ... Call it whatever you like! tgcf is an advanced telegram chat forwarding automation tool that can fulfill all your custom needs.

Features

Extremely easy to get started yet ready for any complex task you throw at it.

  • At its simple form, its just a telegram message forwarder that forwards your messages from source to destination chats.
  • You can choose the mode: past for forward all old(existing messages) or live for start forwarding from now. You can either use a telegram bot account or an user account.

image

  • You can cutomize every detail of the forwarding with the help of plugins: filter(blacklist/whitelist), format(bold, italics, etc), replace(supports regex), caption(header/footer). You can even apply watermark to images/videos, or perform optical character recognition (ocr) on images.

image

  • tgcf comes with a web interface to customize all these options. You may define you config in json, and run tgcf from the CLI if you wish.

image image

  • Detailed documentation and videos makes it easy for you to configure tgcf and deploy to any platform of your choice. The following videos (english) explain everything in great detail.
  • Supported environments Linux, Mac, Windows (Running Ubuntu on top of WSL-2), Android (Using Termux app) and any platform where running Docker containers is supported.
  • All these is free and open source, with not a single feature behind a paywall. Tgcf serves to be a free alternative to many commercial telegram bots out there. However you may sponsor to accelerate the development of any new feature and get fast support over chat.

Install and Run

If you want to use tgcf for free, then run on your own desktop or mobile computer.

Make sure you are on a supported environment and have python:3.10 or above, installed.

  • Create a directory and move into it.

    mkdir my-tgcf
    cd my-tgcf
  • Create a python virtual environment and activate it.

    python3 -m venv .venv
    source .venv/bin/activate
  • Install tgcf using pip

    pip install tgcf
    tgcf --version
  • Set the password for accessing web interface. The password is to be set in the .env file.

    echo "PASSWORD=hocus pocus qwerty utopia" >> .env

    Set your own password, instead of whats given above.

    Security advice:

    • Please make sure the password has more than 16 characters.
    • You can save your password in any password manager (may be of browser) to autofill password everytime.
  • Start the web-server.

    tgcf-web

To run tgcf without the web-ui read about tgcf cli.

If you are planning to use watermarking and ocr features within tgcf, you need to install ffmpeg and tesseract-ocr libraries in you system. Read more.

See also: How to install and run using docker ?

Deploy to Cloud

Click on this link and get free 200$ on Digital Ocean.

DigitalOcean Referral Badge

NOTE You will get nothing if you directly sign up from Digital Ocean Home Page. Use the link above, or click on the big fat button above to get free 200$.

Deploying to a cloud server is an easier alternative if you cannot install on your own machine. Cloud servers are very reliable and great for running tgcf in live mode for a long time.

Here are some guides for deployment to different cloud providers.

Getting Help

  • First of all read the wiki and watch the videos to get started.

  • Type your question in GitHub's Search bar on the top left of this page, and click "In this repository". Go through the issues, discussions and wiki pages that appear in the result. Try re-wording your query a few times before you give up.

  • If your question does not already exist, feel free to ask your questions in the Discussion forum. Please avoid duplicates.

  • For reporting bugs or requesting a new feature please use the issue tracker of the repo.

Contributing

PRs are most welcome! Read the contributing guidelines to get started.

If you are not a developer, you may also contribute financially to incentivise the development of any custom feature you need.

Subscribe to our newsletter