Как написать телеграм бота на питоне?
Без лишних слов. Сразу приступим к делу.
![Изображение статьи Изображение статьи](https://alfa-code-public-bucket.storage.yandexcloud.net/Blog/articles/4083f68c-e1a6-4b1a-ab50-bab4a7453bbb/image.png)
Для написания телеграм бота на Python, вам необходимо выполнить следующие шаги:
1. Создайте нового бота в Telegram, написав в Telegram боте @BotFather команду /newbot и следуя инструкциям. При создании бота вам нужно будет придумать ему имя - для примера я создам бота с именем python-telegram-bot. У вас имя будет другое. В конце создания бота - вы получите токен - сохраните его на вашем устройстве.
2. Установите библиотеку python-telegram-bot, используя команду pip install python-telegram-bot в консоли вашего компьютера.
Чтобы открыть командную строку на Windows, в поиске найдите прогрумму CMD и запустите ее.
![Привем установки библиотеки <b>python-telegram-bot</b> Привем установки библиотеки <b>python-telegram-bot</b>](https://alfa-code-public-bucket.storage.yandexcloud.net/Blog/articles/4083f68c-e1a6-4b1a-ab50-bab4a7453bbb/111.gif)
3. Запустите редактор Visual Studio Code (либо любой другой) и создайте файл main.py
4. Импортируйте необходимые библиотеки в файл main.py:
from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes
5. Создайте переменную token и поместите в нее строку токена полученного от @BotFather
token = "ваш токен"
6. Создайте функцию для обработки команды hello - данная функция будет отвечать пользователю строкой Hello с именем пользователя
async def hello(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
await update.message.reply_text(f'Hello {update.effective_user.first_name}')
7. Следующей командой создаем инстанс бота с использованием токена
app = ApplicationBuilder().token(token).build()
8. Добавляем обработчик команды /hello в вашем боте - для этого мы и готовили функцию hello выше.
app.add_handler(CommandHandler("hello", hello))
9. Наконец запускаем бота
app.run_polling()
Пока программа запущена - найдите вашего бота в telegram - и отправьте вашему боту команду /hello
![Пример использования бота. Пример использования бота.](https://alfa-code-public-bucket.storage.yandexcloud.net/Blog/articles/4083f68c-e1a6-4b1a-ab50-bab4a7453bbb/222.gif)
Поздравляю! Вы написали своего первого бота. Попробуйте написать другие фунциии и зарегистрировать новые команды.
Итоговый код - должен выглядеть примерно так:
from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes
token = "ваш токен"
# Функция отвечает пользователю Hello с указанием имени пользователя
async def hello(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
await update.message.reply_text(f'Hello {update.effective_user.first_name}')
app = ApplicationBuilder().token(token).build()
app.add_handler(CommandHandler("hello", hello))
app.run_polling()