{"id":13640163,"url":"https://github.com/aahnik/tgcf","last_synced_at":"2025-04-13T04:57:30.045Z","repository":{"id":37570848,"uuid":"315814021","full_name":"aahnik/tgcf","owner":"aahnik","description":"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.","archived":false,"fork":false,"pushed_at":"2024-05-06T09:49:13.000Z","size":1137,"stargazers_count":1446,"open_issues_count":88,"forks_count":832,"subscribers_count":31,"default_branch":"main","last_synced_at":"2025-04-13T04:57:19.236Z","etag":null,"topics":["aahnik","aahnik-daw","hacktoberfest","mtproto","python","python-script","python3","script","telegram","telegram-account","telegram-backup-bot","telegram-bot","telegram-chat","telegram-forward-bot","telegram-sync-bot","telegram-userbot","telethon","tgcf","user-bot"],"latest_commit_sha":null,"homepage":"https://github.com/aahnik/tgcf/wiki","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aahnik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://aahnik.dev/support"]}},"created_at":"2020-11-25T03:05:00.000Z","updated_at":"2025-04-10T12:30:53.000Z","dependencies_parsed_at":"2023-01-31T00:22:01.748Z","dependency_job_id":"1bcc9d6a-8ce4-4457-95c5-b3e8d949ad91","html_url":"https://github.com/aahnik/tgcf","commit_stats":{"total_commits":378,"total_committers":5,"mean_commits":75.6,"dds":"0.14021164021164023","last_synced_commit":"7170862e6af3d74ece1d14557eaab23fe2136881"},"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aahnik%2Ftgcf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aahnik%2Ftgcf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aahnik%2Ftgcf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aahnik%2Ftgcf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aahnik","download_url":"https://codeload.github.com/aahnik/tgcf/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248665762,"owners_count":21142123,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aahnik","aahnik-daw","hacktoberfest","mtproto","python","python-script","python3","script","telegram","telegram-account","telegram-backup-bot","telegram-bot","telegram-chat","telegram-forward-bot","telegram-sync-bot","telegram-userbot","telethon","tgcf","user-bot"],"created_at":"2024-08-02T01:01:08.512Z","updated_at":"2025-04-13T04:57:30.023Z","avatar_url":"https://github.com/aahnik.png","language":"Python","readme":"\u003c!-- markdownlint-disable --\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href = \"https://github.com/aahnik/tgcf\" \u003e \u003cimg src = \"https://user-images.githubusercontent.com/66209958/115183360-3fa4d500-a0f9-11eb-9c0f-c5ed03a9ae17.png\" alt = \"tgcf logo\"  width=120\u003e \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003e tgcf \u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\nThe ultimate tool to automate custom telegram message forwarding.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/aahnik/tgcf/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/aahnik/tgcf\" alt=\"GitHub license\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/aahnik/tgcf/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/aahnik/tgcf?style=social\" alt=\"GitHub stars\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/aahnik/tgcf/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/aahnik/tgcf\" alt=\"GitHub issues\"\u003e\u003c/a\u003e\n\u003cimg src=\"https://img.shields.io/pypi/v/tgcf\" alt=\"PyPI\"\u003e\n\u003ca href=\"https://twitter.com/intent/tweet?text=Wow:\u0026amp;url=https%3A%2F%2Fgithub.com%2Faahnik%2Ftgcf\"\u003e\u003cimg src=\"https://img.shields.io/twitter/url?style=social\u0026amp;url=https%3A%2F%2Fgithub.com%2Faahnik%2Ftgcf\" alt=\"Twitter\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/aahnik/tgcf/actions/workflows/quality.yml\"\u003e\u003cimg src=\"https://github.com/aahnik/tgcf/actions/workflows/quality.yml/badge.svg\" alt=\"Code Quality\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n 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.\n\n\n## Features\n\nExtremely easy to get started yet ready for any complex task you throw at it.\n\n- At its simple form, its just a **telegram message forwarder** that forwards your messages from source to destination chats.\n- 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.\n\u003cbr\u003e\n\n  ![image](https://user-images.githubusercontent.com/66209958/209553073-c6ed1b78-ab8c-43d0-b20d-cd30e543bc34.png)\n\n- 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.\n\u003cbr\u003e\n\n  ![image](https://user-images.githubusercontent.com/66209958/209553374-8a6f9a5a-8095-4ca7-9f7f-acafe61d9932.png)\n\n- 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.\n\n![image](https://user-images.githubusercontent.com/66209958/209554118-c657e361-8ce2-462d-a305-04e44754cbf7.png)\n![image](https://user-images.githubusercontent.com/66209958/209554345-1db31eff-7694-47ef-aede-6a77a7cefb83.png)\n\n\u003c!-- - A **bot interface** is under development. Bot interface means a set of commands, buttons, and conversation flows that will allow you to alter config values while tgcf is running in live mode. --\u003e\n\u003c!-- - Any body with basic knowledge of python can easily write plugins for tgcf, thus extending its capabilities. --\u003e\n- Detailed [**documentation**](https://github.com/aahnik/tgcf/wiki) and [**videos**](https://www.youtube.com/playlist?list=PLSTrsq_DvEgisMG5BLUf97tp2DoAnwCMG) makes it easy for you to configure tgcf and deploy to any platform of your choice.\n  The following videos (english) explain everything in great detail.\n  - [Feature Overview](https://youtu.be/FclVGY-K70M)\n  - [Running on Windows/Mac/Linux](https://youtu.be/5GzHb6J7mc0)\n  \u003c!-- - Running on Android --\u003e\n  - [Deploy to Digital Ocean Droplet](https://youtu.be/0p0JkJpfTA0)\n- 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.\n- 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.\n\n\n## Install and Run\n\nIf you want to use tgcf for free, then run on your own desktop or mobile computer.\n\nMake sure you are on a supported environment and have python:3.10 or above, installed.\n\n- Create a directory and move into it.\n\n  ```shell\n  mkdir my-tgcf\n  cd my-tgcf\n  ```\n\n- Create a python virtual environment and activate it.\n\n  ```shell\n  python3 -m venv .venv\n  source .venv/bin/activate\n  ```\n\n- Install tgcf using `pip`\n\n  ```shell\n  pip install tgcf\n  tgcf --version\n  ```\n\n- Set the password for accessing web interface.\n  The password is to be set in the `.env` file.\n\n  ```shell\n  echo \"PASSWORD=hocus pocus qwerty utopia\" \u003e\u003e .env\n  ```\n\n  Set your own password, instead of whats given above.\n\n  _Security advice_:\n\n  - Please make sure the password has more than 16 characters.\n  - You can save your password in any password manager (may be of browser)\n    to autofill password everytime.\n\n- Start the web-server.\n\n  ```shell\n  tgcf-web\n  ```\n\nTo run tgcf without the web-ui read about\n[tgcf cli](https://github.com/aahnik/tgcf/wiki/CLI-Usage).\n\nIf you are planning to use watermarking and ocr features within tgcf,\nyou need to install `ffmpeg` and `tesseract-ocr` libraries in you system.\n[Read more](https://github.com/aahnik/tgcf/wiki/Additional-Requirements).\n\nSee also: [How to install and run using docker ?](https://github.com/aahnik/tgcf/wiki/Install-and-run-using-docker)\n\n## Deploy to Cloud\n\nClick on [this link](https://m.do.co/c/98b725055148) and get **free 200$**\non Digital Ocean.\n\n[![DigitalOcean Referral Badge](https://web-platforms.sfo2.digitaloceanspaces.com/WWW/Badge%203.svg)](https://www.digitalocean.com/?refcode=98b725055148\u0026utm_campaign=Referral_Invite\u0026utm_medium=Referral_Program\u0026utm_source=badge)\n\n\u003e **NOTE** You will get nothing if you directly sign up from Digital Ocean Home Page.\n\u003e **Use the link** above, or **click on the big fat button** above to get free 200$.\n\nDeploying to a cloud server is an easier alternative if you cannot install\non your own machine.\nCloud servers are very reliable and great for running `tgcf` in live mode\nfor a long time.\n\nHere are some guides for deployment to different cloud providers.\n\n- [Heroku](https://github.com/aahnik/tgcf/wiki/Deploy-to-Heroku)\n- [Digital Ocean](https://github.com/aahnik/tgcf/wiki/Deploy-to-Digital-Ocean)\n- [Gitpod](https://github.com/aahnik/tgcf/wiki/Run-for-free-on-Gitpod\")\n- [Python Anywhere](https://github.com/aahnik/tgcf/wiki/Run-on-PythonAnywhere)\n- [Google Cloud Run](https://github.com/aahnik/tgcf/wiki/Run-on-Google-Cloud)\n\n## Getting Help\n\n- First of all [read the wiki](https://github.com/aahnik/tgcf/wiki)\n  and [watch the videos](https://www.youtube.com/channel/UCcEbN0d8iLTB6ZWBE_IDugg)\n  to get started.\n\n- Type your question in GitHub's Search bar on the top left of this page,\n  and click \"In this repository\".\n  Go through the issues, discussions and wiki pages that appear in the result.\n  Try re-wording your query a few times before you give up.\n\n- If your question does not already exist,\n  feel free to ask your questions in the\n  [Discussion forum](https://github.com/aahnik/tgcf/discussions/new).\n  Please avoid duplicates.\n\n- For reporting bugs or requesting a new feature please use the [issue tracker](https://github.com/aahnik/tgcf/issues/new)\n  of the repo.\n\n## Contributing\n\nPRs are most welcome! Read the [contributing guidelines](/.github/CONTRIBUTING.md)\nto get started.\n\nIf you are not a developer, you may also contribute financially to\nincentivise the development of any custom feature you need.\n","funding_links":["https://aahnik.dev/support"],"categories":["Python","[↑](#contents) Tools"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faahnik%2Ftgcf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faahnik%2Ftgcf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faahnik%2Ftgcf/lists"}