Alfa Brain

Как написать телеграм бота на питоне?

Алексей ВечкановАлексей Вечканов   

Без лишних слов. Сразу приступим к делу.

Изображение статьи

Для написания телеграм бота на 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>

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

Пример использования бота.
Пример использования бота.

Поздравляю!  Вы написали своего первого бота. Попробуйте написать другие фунциии и зарегистрировать новые команды.

Итоговый код - должен выглядеть примерно так:

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()


Поделиться: