- Visit Telegram Apps API and log in with your Telegram Account.
- Fill out the form to register a new Telegram application.
- The API key consists of two parts:
api_id
andapi_hash
- set them as env variables to$API_ID
and$API_HASH
through.env
file or whatever you prefer. Also remember to set the name of session through$SESSION_NAME
- any name is fine. - Run the app interactively:
docker run -it -v $PWD/plugins/:/plugins/ -v $PWD/sessions:/sessions --env-file .env qqalexqq/tgforwarder:latest
- Input data in interactive window:
Is "+aaa" correct? (y/N): y
The confirmation code has been sent via Telegram app
Enter confirmation code: bbb
The two-step verification is enabled and a password is required
Password hint: None
Enter password (empty to recover): ccc
- On complete container will fail - this is normal due to unset variables. Now set up those variables:
CHANNELS=channel,names,through,commas
andCHAT_IDS=chat,ids,through,commas
. Example:
CHANNELS=addmeto,techsparks
- After variables set up you can start the container:
docker-compose build
docker-compose up -d
Yes, if you add your bot to the channel's admins - otherwise bot can't read channel's messages. It was previously possible with bot api's "forwardMessage" but telegram's authors fixed it and now bot can't access channel's before it was added as an admin of channel.
In that case you will need to change docker image - main.py: replace app = ...",
with app = Client('forwarder_bot', 'YOUR_BOT_TOKEN')