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:

1from telegram import Update
2from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes

5. Создайте переменную token и поместите в нее строку токена полученного от @BotFather

1token = "ваш токен"

6. Создайте функцию для обработки команды hello - данная функция будет отвечать пользователю строкой Hello с именем пользователя

1async def hello(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
2  await update.message.reply_text(f'Hello {update.effective_user.first_name}')

7. Следующей командой создаем инстанс бота с использованием токена

1app = ApplicationBuilder().token(token).build()

8. Добавляем обработчик команды /hello в вашем боте - для этого мы и готовили функцию hello выше.

1app.add_handler(CommandHandler("hello", hello))

9. Наконец запускаем бота

1app.run_polling()

Пока программа запущена - найдите вашего бота в telegram - и отправьте вашему боту команду /hello

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

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

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

1from telegram import Update
2from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes
3
4token = "ваш токен"
5
6# Функция отвечает пользователю Hello с указанием имени пользователя
7async def hello(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
8  await update.message.reply_text(f'Hello {update.effective_user.first_name}')
9
10
11app = ApplicationBuilder().token(token).build()
12
13app.add_handler(CommandHandler("hello", hello))
14
15app.run_polling()
16


Поделиться: