Telegram PDF Bot
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
😅
Repo Special What's Special in this repo & To-Do's ???
-
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
Mandatory Vars....
DEV_TELE_ID - Your Telegram ID.
TELE_TOKEN - Telegram Bot Token get from @BotFather
GOOGLE_APPLICATION_CREDENTIALS - Your GCP Credentials get from Google Cloud
Where To Get The Mandatory Vars..
DEV_TELE_ID
- Get it from Thunder
/id
TELE_TOKEN
- Get it from @BotFather
GOOGLE_APPLICATION_CREDENTIALS
- Get it from Google Cloud
Optional Vars....
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
Where To Get The Optional Vars...
STRIPE_TOKEN
- Get it from stripe.com
SLACK_TOKEN
- Get it from slack.com
⚠️
Click On Any Topic To Get it's Detailed Information
⚠️
]
Installation [ Getting GCP Ceredinials
⚠️
Important
⚠️
Getting Started
These instructions will get you a copy of the project up.
Setup Database
The bot uses Datastore on Google Cloud Platform (GCP).
Sir/Ma'am, Kindly
- 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
The Easy Way (Heroku)
Follow these steps for a successful deployment.....
- 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
🥳 .
Deploy using GitHub Workflows.....
- 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
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.
me if Love
❣️
the repo.
Follow Local Host
OS Requirements
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
Setup Virtual Environment
Create a virtual environment with the following command:
virtualenv venv
source venv/bin/activate
Bot Requirements
Run the following command to install the required packages:
pip install -r requirements.txt
Compile the translation files
Run the following command to compile all the translation files:
pybabel compile -D pdf_bot -d locale/
Setup Your Environment Variables
Copy the .env
example file and edit the variables within the file:
cp .env.example .env
Running The Bot
You can then start the bot with the following command:
python bot.py
me if Love
❣️
the repo.
Follow me if Love
❣️
the repo.
Follow
🐛
Found a Bug Feel free to create a pull or create a issue now and describe your issue freely.
Credits
- Me
🥰 For making Deployable To Heroku - @zeshuaro for his amazing Creation Telegram PDF Bot