A Telegram bot that can:
- Compress, crop, decrypt, encrypt, merge, preview, rename, rotate, scale and split PDF files
- Compare text differences between two PDF files
- Create PDF files from text messages
- Add watermark to PDF files
- Multiple languages support
- Add text layers to PDF files to make them searchable with text
- Extract images and text from PDF files
- Convert PDF files into images
- Beautify handwritten notes images into PDF files
- Convert webpages and images into PDF files
-
Make It Heroku Deployable -
Add Detailed Guide to get GCP Credentials - Add Private Use Feature
- Add Password feature 🔑 for private use
- Remove GCP and use another free Cloud Storage.
- Add Broadcasting Feature
- Make it more stable and fast
DEV_TELE_ID - Your Telegram ID.
TELE_TOKEN - Telegram Bot Token get from @BotFather
GOOGLE_APPLICATION_CREDENTIALS - Your GCP Credentials get from Google Cloud
DEV_TELE_ID
- Get it from Thunder ⚡ Bot by sending /id
TELE_TOKEN
- Get it from @BotFather
GOOGLE_APPLICATION_CREDENTIALS
- Get it from Google Cloud ☁️
STRIPE_TOKEN - Stripe.com token for receiving Donations.
SLACK_TOKEN - slack.com api token to recieve Feedbacks on Slack.com if not entered you will recieve in your Telegram
STRIPE_TOKEN
- Get it from stripe.com
SLACK_TOKEN
- Get it from slack.com
Getting GCP Ceredinials ⚠️ Important ⚠️
These instructions will get you a copy of the project up.
The bot uses Datastore on Google Cloud Platform (GCP).
Sir/Ma'am, Kindly 🤗 follow the below steps to create a valid GCP Credentials File :-
- Firstly Go to https://console.cloud.google.com/project
- Create a Project.
- Open http://console.developers.google.com/project/_/apiui/credential And Click on Create Ceredinials then Click on Service Account.
- Enter all the required values. [At the Service Accounts, enter a Service account name and click Create. For Service account permissions, select Project, Owner.]
- Select a service account. Click the 3 skewer bar and select Create Key. Select JSON, click Create.
- Click Create. The credential file will be downloaded to your local computer or Any Device your are Using.
- Upload the Project Credential file to the bots private repo.
- Then Open https://console.cloud.google.com/datastore/setup .
- And enable the FireStore Database.
- Now open https://console.cloud.google.com/iam-admin/iam .
- And set the service account's role to owner. Note: If you can't see your service account in the list click on Add and add your service account with Owner as Role.
- Now Deploy your bot and set
GOOGLE_APPLICATION_CREDENTIALS
var with value as the File Name of the Ceredinials Json you uploaded in the repo in Step 7. - Congratulations 🎉 your bot has been Successfully Started 😊 So enjoy 🤗.
⚠️ I will Recommend you to Use Only Google Chrome for generating Ceredinials Json as some browsers will not start the Download of the Json file in the Step 6 ⚠️
Don't Forget to Star 🌟 Repo if ❤️ The Repo and Follow Me to show your ❤️.
The Easy Way (Heroku)
- Star ⭐ the repo 😅 and import it as Private.
- Upload your GCP Credentials in the root directory with name
GCP_FILE.json
- Click on the Below Deploy Button ✅
- Enter the Ceredinials and Click in deploy.
- After Deployment Completed Click on Manage App & Turn on the Dynos....
- Booyah!! Your PDF Bot is successfully started.
- Enjoy the Bot 🥳.
- Star ⭐ the repo 😅 and import it as Private.
- Upload your GCP Credentials in the root directory with name
GCP_FILE.json
- Go to Project->Settings->Secrets and Click New repository secret and Add All the following Vars as the Repository Secrets.
HEROKU_API_KEY
: Your Heroku Account API
HEROKU_APP_NAME
: Heroku App Name
HEROKU_EMAIL
: Your Heroku Email 📨 Id
DEV_TELE_ID
: Your Telegram ID.
TELE_TOKEN
: Telegram Bot Token get from @BotFather
GOOGLE_APPLICATION_CREDENTIALS
: Your GCP Credentials get from Google Cloud
- Go To The Actions Tab and Choose
Manually Deploy To Heroku
and click on run workflow.
Follow me if Love ❣️ the repo.
Local Host
Ubuntu
apt-get install poppler-utils libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info
macOS
brew install libxml2 libxslt poppler cairo pango gdk-pixbuf libffi
Create a virtual environment with the following command:
virtualenv venv
source venv/bin/activate
Run the following command to install the required packages:
pip install -r requirements.txt
Run the following command to compile all the translation files:
pybabel compile -D pdf_bot -d locale/
Copy the .env
example file and edit the variables within the file:
cp .env.example .env
You can then start the bot with the following command:
python bot.py
Follow me if Love ❣️ the repo.
Follow me if Love ❣️ the repo.
Feel free to create a pull or create a issue now and describe your issue freely.
- Me 🥰 For making Deployable To Heroku
- @zeshuaro for his amazing Creation Telegram PDF Bot