Skip to content

zeshuaro/telegram-pdf-bot

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
January 6, 2021 22:10
November 30, 2023 11:23

Telegram PDF Bot

Telegram Bot MIT License GitHub Actions Coverage Quality Gate Status Ruff Crowdin Telegram Channel Mentioned in Awesome Telegram

Github-sponsors BuyMeACoffee Ko-Fi LiberaPay Patreon PayPal

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
  • 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

DigitalOcean Referral Badge

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes

Setup Database

The bot uses Datastore on Google Cloud Platform (GCP). Create a new project on GCP and enabble Datastore in the project. Install the gcloud CLI and run gcloud init to initialise it with your project.

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

Install dependencies

This project uses Poetry as the dependency manager, run the following command to install the dependencies:

poetry install --no-root

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 -m pdf_bot