Самый быстрый способ развернуть своих телеграм-ботов в Интернете!
Когда мне впервые стало любопытно, как создать своего собственного бота для телеграмм, я поискал в Интернете самый простой способ сделать это. Кажется, каждый ютубер, с которым мне приходилось сталкиваться, делал это по-своему, уникальным и утомительным способом, который покажется пугающим для новичков.
Не волнуйтесь, после небольшого исследования я теперь представляю способ настроить и запустить вашего телеграмм-бота примерно за час. (Быстрее, если вы уже знакомы с концепциями программирования, например: Python / Git / Heroku)
Для этого урока нам потребуются (при условии, что у вас уже установлены локально git и python):
- Heroku
- Python
- Аккаунт Telegram
Во-первых, вам нужно будет создать учетную запись Heroku, если у вас ее еще нет.
После регистрации перейдите к созданию нового приложения.
После создания приложения перейдем к Telegram. Вам необходимо создать бота под BotFather следующим образом.
Заполните всю информацию соответствующим образом, и если бот успешно создан, вы должны увидеть что-то вроде этого:
Затем откройте терминал / cmd и выполните следующие команды
virtualenv botenv
source botenv/bin/activate
Это создает виртуальную среду, которая отделяет зависимости, которые вы устанавливаете с помощью pip3 позже, от других ваших проектов python.
pip3 install pyTelegramBotAPI Flask
Приведенный выше фрагмент кода устанавливает все зависимости, необходимые для работы нашего телеграмм-бота.
После этого создайте файл bot.py в том же каталоге и вставьте в него следующий код:
import telebot import os from flask import Flask,request TOKEN = "Insert API Token from BotFather here" bot = telebot.TeleBot(token=TOKEN) server = Flask(__name__)
Это импортирует все зависимости, которые мы установили ранее с помощью pip3. Нам также необходимо заменить переменную TOKEN токеном, предоставленным BotFather. Обратите внимание, что токен должен быть заключен в открывающую и закрывающую кавычки.
Затем мы можем вставить следующий код в файл, чтобы определить поведение нашего бота (например, если мы отправим / help, бот ответит Справочное сообщение). Взгляните на API для получения дополнительной информации!
Последняя часть нашего файла bot.py состоит из следующих строк кода для настройки веб-перехватчика.
Теперь, чтобы мы могли смонтировать наш код на серверах Heroku, нам потребуется этот файл под названием Procfile, в котором указаны команды, выполняемые приложением при запуске.
Создайте «Procfile» в том же каталоге, что и bot.py (обратите внимание, что Procfile не имеет расширения файла)
Поскольку наш код Python находится в bot.py, мы скопируем следующий код в Procfile:
web: python3 bot.py
Теперь нам нужен файл requirements.txt, чтобы сообщить Heroku, какие зависимости мы установили в наш проект. Создайте файл requirements.txt в том же каталоге, что и bot.py и Procfile, и выполните следующую команду в терминале / cmd
pip3 freeze > requirements.txt
Если вы выполнили этот шаг успешно, теперь файл requirements.txt должен содержать все зависимости, необходимые для правильной работы нашего бота.
Вернувшись в браузер, вы должны оказаться на https://dashboard.heroku.com/apps/‹ app_name›. Перейдите в раздел развертывания страницы, и вы должны увидеть следующее:
В этом проекте мы будем использовать Heroku CLI для развертывания нашего бота на сервере, поэтому скачайте и установите Heroku CLI. После этого на вашем cmd / терминале введите команду выше (логин heroku). После аутентификации сделайте следующее:
git init heroku git:remote -a <app_name> git add . git commit -am "make it better" git push heroku master
Если вы до сих пор правильно выполнили все вышеперечисленные шаги, вы должны увидеть следующее:
https://<app_name>.herokuapp.com/ deployed to Heroku
И это все! Вы успешно развернули своего бота на Heroku. Теперь вы можете написать своему боту в Telegram и посмотреть, как он отреагирует!
Если вам понравился контент, которым я поделился с вами, проявите немного любви и оставьте несколько комментариев / аплодисментов. Также принимаю предложения о том, чем поделиться дальше!