
Explore Telegram bot development with Python and Pyrogram, from core bot concepts to interacting with Telegram servers using Bot API and MTProto.
Learn how Linux containers package apps into images, run isolated, lightweight containers, map ports and volumes, manage them with Docker or Podman, and use Docker Compose for development.
Learn how to create a telegram bot with bot father, choose a unique username ending in bot, set the bot’s name, about, description, and profile picture, and define commands.
Obtain your api id and api hash from telegram.org by logging in, going to api development tools, and creating a python-based telegram app.
Create a basic Telegram bot with Python and Pyrogram: set up a venv, install dependencies, configure api id/hash and bot token, then run bot.py to send hello world.
Learn to run a Pyrogram telegram bot inside a dockerized environment using Docker Compose, configure api id, api hash, and bot token via env files, mount volumes, and install requirements.
Learn basic event handling for Telegram bots using Python and Pyrogram, defining an update handler and sending photos with reply and reply_photo.
Learn to run Telegram bots with Python and Pyrogram asynchronously by converting handlers to async, using await, and deploying with Docker Compose, an env file, and VSCode workflows.
Define a dedicated updates handler to create modular Telegram bots with Python and Pyrogram, move the handler to its own module, and attach a message handler to the client.
Master the update filters in Pyrogram to tailor Telegram updates, using simple and advanced filters, decorators, and combinations to target photos, audio, text, or a phone number.
Define a simple audio update handler with a decorator and respond when an audio file arrives. Import filters from Piragram and apply audio and photo filters to receive only updates.
Move update handlers to a dedicated handlers.py, defining them without decorators, and register them with app.add_handler using a message handler with audio or photo filters for a Pyrogram Telegram bot.
Combine different update filters in Pyrogram to create complex criteria using and, or, and tilde operators for visual media and captions. See how filters trigger in group and private chats.
Explore filters in Pyrogram, including the command filter and regex filter, and learn to deploy them with decorators or handlers to filter Telegram updates by commands or patterns.
Discover how to add database support to Python applications and Telegram bots using SQLAlchemy, defining schemas, initializing connections, and performing create, read, and update operations.
Install SQLAlchemy in your Pyrogram project to enable database support with MySQL, then build the container and start a dev bot while preparing to define database types and schema.
Define the database structure with SQLAlchemy by creating a node table with id, author id, and text, configure engine from environment variables, and connect the bot to a MariaDB database.
Update the database schema to include a title, implement add and select commands, and fetch user notes with a util function for the telegram bot.
Learn to delete a record from a MySQL database using SQLAlchemy with Python, including selecting the node by title, deleting it, and committing changes.
Learn how to implement per-user state and session management in Telegram bots, from in-memory storage to Redis cache and SQLAlchemy database solutions.
Learn in-app state management for a telegram bot in python, implementing a simple register workflow with a sessions dictionary, state constants, and username and password steps.
Learn to manage telegram bot user sessions with redis cache, implementing a cache class to update, retrieve, and clear session data, with optional expiration.
Implement database-backed user session management for Telegram bots using SQLAlchemy with MariaDB, building a session schema, unique keys from user id, and CRUD operations in a dockerized setup.
Create and customize Telegram bot keyboards, including reply and inline markup, and learn to remove or hide keyboards, build link buttons, and pass data through button interactions.
Learn to build Telegram bot keyboards with reply keyboard markup, creating a main menu and settings and admins submenus, using text buttons and a remove keyboard option to hide.
Create inline links for a telegram bot by using inline keyboard markup and inline keyboard button with urls, then send the keyboard as a reply markup.
Learn to use inline keyboards with callback data in a python telegram bot. Implement a confirmation dialog before removing keyboards and handle user choices with a callback query handler.
Explore Telegram media by understanding common file types such as video, audio, voice, and animation, and learn to send media to users and monitor transfer progress to your server.
Learn to send multiple media types in telegram with piragram, using send methods for photo, sticker, video, audio, voice, document, and animation, or bound message methods.
Download media from a Telegram bot to your server using Python and Pyrogram, with media detection, admin confirmation via inline keyboard, and a download progress flow.
Learn to monitor media transfer progress in a Python and Pyrogram Telegram bot by implementing progress callables for sending and downloading media, and updating status messages in real time.
Learn how to deploy Telegram bot code to a production server using FTP or command line tools, run it with or without containers, and use a phone as a server.
Move a Telegram bot project to a production server using FileZilla or sftp from the command line, create a deploy folder, transfer files, and verify the upload before deployment.
Launch and manage multiple Telegram bots on a Linux server using Byobu window manager, then deploy with Docker Compose or Podman Compose, using SQLite with SQLAlchemy for session management.
Learn to run a Telegram bot on a server without containers by using a Python virtual environment, installing requirements, managing sessions with SQLite, and launching bot.py with the Python version.
Run your telegram bot with Pyrogram on your phone using Termux and Python 3.12, transfer code via scp, and manage a mobile server with Byobu.
Deploy a telegram bot on a linux server with systemd by converting your project into a service, enabling auto start, restart, and status checks.
Run a containerized Telegram Python bot as a systemd service on a Linux server using Podman, with an environment file and a unit enabled at boot.
Master debugging Python Telegram bots in VS Code, using virtual environments and containers, with breakpoints, local variables, and watches to troubleshoot effectively.
Prepare the project for debugging by setting up debugpy, creating and activating a virtual environment, installing requirements, and configuring VS Code launch.json for remote attach, with optional Docker Compose containers.
Learn to debug a telegram bot in a python virtual environment without containers by configuring launch.json, attaching the python debugger, and using breakpoints to inspect uid, text, media, and caption.
Debug a Python Telegram bot inside a container with DebugPy, Docker Compose, and an inline keyboard flow. Change host from localhost to the bot service, set breakpoints, and inspect variables.
What is this Course?
This course will teach you how to create Telegram bots (software robots) quickly using Python.
Who Is This Course For?
1. Python developers
2. Telegram developers
3. Web and app developers looking into learning how Telegram bots work or integrating their app with a Telegram bot
4. Programming enthusiasts who love to learn creating Telegram bots using Python
What Does This Course Cover?
The following topics will be covered in the present course:
What is a Telegram bot and how it works
How to create bots using Bot Father
How to install Pyrogram
Running a Telegram bot with Python
Running a Telegram bot with containers
Event Handling and more...
Why You Should Take this Course?
Developing Telegram applications and bots is a profitable and highly in-demand job nowadays, because there is a massive market for Telegram, which opens up countless opportunities for developers.
As a high-level and easy to learn language, Python will be used for developing Telegram bots in this course. Moreover, the library we use is Pyrogram which makes getting started with Telegram development a breeze.
You will learn how to develop and launch bots using containers, which is the modern standard for software development and containers. I teach you how to develop your Telegram bots using containers because they make development easier on every platform including macOS, Linux and Windows.
Telegram is a platform with millions of users worldwide. Learning how to program Telegram bots can give you the opportunity to tap into this large user base and grow your business.
Is There Support After the Purchase?
Absolutely! Like other Udemy courses, this one also comes with the 30-day money-back guarantee. Furthermore, I will always answer your questions and challenges in the course. So, if you happen to have any questions while studying the course, just drop a question and I will answer your questions and challenges ASAP.