Как да направите бот за Telegram с Python

Python е един от най-популярните езици за програмиране благодарение на своя прост синтаксис и голяма общност. Той се използва за уеб разработка, анализ на данни, изкуствен интелект и автоматизация. Създаването на Telegram бот с Python е чудесен начин за начинаещи програмисти да се запознаят с основите на програмирането, API интеграцията и автоматизацията.
В тази статия ще научите как да създадете свой собствен Telegram бот с Python, стъпка по стъпка – от настройката на сървъра до пускането му в действие.
1. Какво е Python?
Python е интерпретируем, високо ниво на програмен език с динамична семантика. Той е лесен за научаване, четлив и поддържа множество парадигми (процедурно, обектно-ориентирано и функционално програмиране). Някои от ключовите му предимства включват:
- Простота и четливост – кодът е лесен за разбиране.
- Голяма стандартна библиотека – предлага готови модули за почти всичко.
- Крос-платформен – работи на Windows, Linux и macOS.
- Поддръжка на много frameworks – като Django, Flask, PyTorch и др.
Python е идеален за създаване на Telegram ботове благодарение на библиотеки като python-telegram-bot
.
2. Какво е Telegram бот?
Бот за Telegram е автоматизирана програма, която може да изпълнява различни задачи в приложението Telegram. Тези ботове могат да отговарят на съобщения, да изпращат информация, да извършват изчисления, да изпълняват команди и много други.
Telegram предоставя Bot API, което улеснява разработчиците да създават и управляват ботове. С Bot API можете да програмирате бота да комуникира с потребителите, да обработва техните заявки и дори да интегрирате външни услуги.
3. Как се пише код за Telegram с Python?
Преди да започнем със създаването на бота, трябва да инсталираме Python и библиотеката python-telegram-bot
, която е най-добрата библиотека за работа с Telegram Bot API.
Инсталиране на необходимите библиотеки
Първо, инсталирайте библиотеката чрез pip
:
pip install python-telegram-bot
4. Подготовка на Ubuntu сървър за стартиране на бота
Ако искате ботът да работи 24/7, трябва да го пуснете на сървър. Ще използваме Ubuntu (напр. 22.04).
Стъпки за настройка:
- Свържете се със сървъра (чрез SSH):
ssh user@your_server_ip
- Актуализирайте системата:
sudo apt update && sudo apt upgrade -y
- Инсталирайте Python и pip:
sudo apt install python3 python3-pip -y
- Създайте директория за бота:
mkdir telegram_bot && cd telegram_bot
- Създайте виртуална среда (незадължително, но препоръчително):
python3 -m venv venv
source venv/bin/activate
- Инсталирайте
python-telegram-bot
:
pip install python-telegram-bot
5. Кодиране на първия Telegram бот
Създайте файл bot.py
и добавете следния код:
from telegram import Update
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext
# Токенът от BotFather
TOKEN = "Вашият_токен_тук"
# Функция за командата /start
def start(update: Update, context: CallbackContext) -> None:
update.message.reply_text('Здравей! Аз съм твоят Telegram бот!')
# Функция за обработка на текстови съобщения
def echo(update: Update, context: CallbackContext) -> None:
update.message.reply_text(update.message.text)
def main():
# Инициализиране на Updater
updater = Updater(TOKEN)
# Взимане на dispatcher за регистриране на handlers
dispatcher = updater.dispatcher
# Регистриране на команди
dispatcher.add_handler(CommandHandler("start", start))
dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, echo))
# Стартиране на бота
updater.start_polling()
updater.idle() # Ботът спира при натискане на Ctrl+C
if __name__ == '__main__':
main()
Как да получите токен за бот?
- Отворете Telegram и потърсете
@BotFather
. - Изпратете
/newbot
и следвайте инструкциите. - Копирайте предоставения токен и го поставете в кода.
6. Стартиране на бота
Изпълнете:
python3 bot.py
Сега ботът трябва да отговаря на /start
и да повтаря съобщенията ви.
7. Стартиране на бота във фонов режим
За да работи ботът постоянно, използвайте systemd
или screen
.
Вариант 1: Използване на screen
sudo apt install screen -y
screen -S telegram_bot
python3 bot.py
# Натиснете Ctrl+A, след това D, за да излезете от screen
Вариант 2: Systemd служба
Създайте файл /etc/systemd/system/telegram_bot.service
:
[Unit]
Description=Telegram Bot
After=network.target
[Service]
User=ubuntu
WorkingDirectory=/home/ubuntu/telegram_bot
ExecStart=/home/ubuntu/telegram_bot/venv/bin/python3 /home/ubuntu/telegram_bot/bot.py
Restart=always
[Install]
WantedBy=multi-user.target
След това:
sudo systemctl daemon-reload
sudo systemctl start telegram_bot
sudo systemctl enable telegram_bot # Автоматично стартиране при рестарт
8. Разширяване на функционалността на бота
Можете да добавите:
- Нови команди (напр.
/help
,/info
) - Клавиатури за по-лесно взаимодействие
- Връзка с бази данни (SQLite, PostgreSQL)
- API интеграции (напр. за времето, крипто цени)
Пример: Добавяне на команда /info
def info(update: Update, context: CallbackContext) -> None:
update.message.reply_text('Това е примерен Telegram бот!')
# В main() добавете:
dispatcher.add_handler(CommandHandler("info", info))
9. Актуализиране и рестартиране на бота
- Спрете бота (ако работи като услуга):
sudo systemctl stop telegram_bot
Ако използвате screen
, влезте в него (screen -r telegram_bot
), спрете бота (Ctrl+C) и пуснете го отново.
10. Заключение
Създаването на Telegram бот с Python е забавен и образователен процес, който ви дава възможност да научите основите на програмирането, работата с API и автоматизацията. В тази статия разгледахме всички стъпки – от създаването на бота до неговото стартиране и разширяване.
Вашият бот може да бъде толкова прост или сложен, колкото пожелаете. Можете да добавяте нови команди, да интегрирате външни услуги и дори да създадете интерактивни приложения в Telegram. Сега е ваш ред да експериментирате и да създадете нещо невероятно!
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut