A simple script to forward all the messages of one chat (private/group/channel) to another. Made using Telethon. Can be used to back up the contents of a chat to another place.
- Clone this repo and move into it to get started.
git clone https://github.com/aahnik/telegram-chat-forward.git && cd telegram-chat-forward
- Create a virtual environment and install dependencies.
python3 -m venv venv && . venv/bin/activate pip3 install -r requirements.txt
Note: For Windows, the process for activating a virtual environment is different, search Google.
First of all you need to have your Telegram account's
Learn how to get them.
You must have the
api_hash as environment variables.
You may simply create a file named
.env in the project directory and paste the following into it.
Replace the above values with the actual values for your telegram account.
After this you need to create and fill up the
config.ini file with your forwarding configurations.
config.inihas to be a username/phone/link/chat_id of the chat.
To confirm that you are using the correct
You may have as many as forwarding pairs as you wish. Make sure to give a unique header to each pair. Follow the syntax shown below.
[name of forward1] ; in the above line give any name as you wish ; the square brackets around the name should remain from = whatAz to = testWha offset = 0 ; the offset will auto-update, keep it zero initially [another name] ; the name of section must be unique from = someone to = another offset = 0
Note:Any line starting with
.inifile, is treated as a comment.
- When you run the script for the first time, keep
- When the script runs, the value of offset in
config.inigets updated automatically.
- Offset is basically the id of the last message forwarded from
- When you run the script next time, the messages in
fromhaving an id greater than offset (newer messages) will be forwarded to
to. That is why it is important not to loose the value of
After setting up the
config.ini, run the
You have to login for the first time using your phone number (inter-national format) and login code.
A session file called
forwarder.session will be generated. Please don't delete this and make sure to keep this file secret.
To get all information about any particular chat:
- Run the script
- Open Telegram and send
.idto any chat to get the chat id.
.infoto any chat to get details of the chat.
- When you are done, come back to your terminal and press CTRL + C to stop.