A lightweight Telegram copy bot focused on reliable message copying from one chat to another.
This bot copies (not forward) messages from a source channel (which doesn't have administrator privileges on it) to a destination chat (simple user, channel, etc.).
This project is intentionally kept simple and focused. If you need extra behavior (for example editing copied messages, handling updates differently, or adding filters), you can customize the bot for your own workflow.
To customize confidently:
- Review the implementation in
app/main.pyto understand the current message handling flow. - Refer to python-telegram for client usage patterns.
- Refer to TDLib documentation for protocol-level capabilities and limits.
- Copy
.env.exampleto.env.cp .env.example .env - Obtain
api_idandapi_hashfrom this link and fill it insideTelegram Configurationsection of the.envfile alongside other configurations (such as phone number of your user, which acts as your bot). - Run the project via Docker and login to Telegram:
docker run -it \ --env-file=.env \ -v td-data:/tmp/.tdlib_files \ radinshayanfar/tgcopybot - After logging in, you will see your chat names and their chat id. Copy chat ids of source and destination chats and put them inside
App Configurationsection of the.envfile. - Run the container in detached mode and it will do the job:
docker run -d \ --env-file=.env \ -v td-data:/tmp/.tdlib_files \ radinshayanfar/tgcopybot