Pull to refresh

Telegram bot для начинающих с выгрузкой на сервер ubuntu

Привет всем, хочу поделится опытом создания своего первого чат бота в телеграм. Меня вдохновила идея автоматизированного бизнеса с использованием чат ботов и голосовых ассистентов, потому что я считаю, что за этими технологиями будущее торговли товарами или продажа услуг в интернете.

Юный падаван


Так как опыта в программировании у меня не было, пришлось идти путем проб и ошибок. Я перечитал огромное количество материалов, посвященных созданию телеграм ботов и у меня сложилось впечатление, что авторы чего-то не договаривают, либо я еще совсем юный подаван. Первое с чем я столкнулся, был вопрос: на каком ПО заняться разработкой бота — Windows или Linux? Windows был мне знаком с детства, но слишком частые обновления и монопольный консерватизм Windows подтолкнули меня к Linux, к тому же, при установке Ubuntu рядом с Windows, я допустил грубую ошибку в связи со своей неопытностью, установив Ubuntu на весь жесткий диск)

Через тернии к звездам


Еще одна проблема, с которой я столкнулся, это блокировка телеграм в России, то есть запросы не отправлялись на сервер telegram bot api.

Для начала работы нужно установить vpn на Ubuntu, я решил использовать vpn windscribe — хороший и бесплатный vpn, ссылка для установки rus.windscribe.com/guides/linux#how-to
Далее нужно установить Python

sudo apt-get install python3

С ним уже в комплекте идет менеджер пакетов pip3.

Кстати, очень важная тема Виртуальная среда python . Виртуальная среда изолирует нужную версию для python и пакетов pip, так как все по умолчанию устанавливается глобально и при написании кода на python из-за различных версий пакетов может не запуститься код.
Для начала нужно установить виртуальную среду с помощью модуля venv
Для этого создадим директорию с любым название, в моем случае bots

mkdir bots

Затем переходим в директорию bots

cd bots

sudo apt-get install python3-venv

Устанавливаем виртуальную среду в каталог bots
Далее в каталоге bots создаем виртуальную среду

python3 -m venv my-project-env

Следующий шаг — активируем ее

source my-project-env/bin/activate

Итак, виртуальная среда готова, теперь установим пакет pyTelegramBotAPI в каталог bots

pip3 install pyTelegramBotAPI 

Теперь приступим к написанию кода, я использовал код из рипозитория gihub pyTelegramBotAPI.

Переходим в каталог бот и создаем файл с расширением в конце .py Я использую редактор NANO, вы можете использовать любой другой редактор, на ваше усмотрение)

nano bots.py

import telebot

bot = telebot.TeleBot("TOKEN")

@bot.message_handler(commands=['start', 'help'])
def send_welcome(message):
	bot.reply_to(message, "Howdy, how are you doing?")

@bot.message_handler(func=lambda message: True)
def echo_all(message):
	bot.reply_to(message, message.text)

bot.polling()

Этот код возвращает то слово или команду, которую вы отправили боту. Где TOKEN нужно вставить «TOKEN» вашего бота.

Теперь нужно включить ваш vpn, лучше включить vpn в каталоге bots

windscribe connect

Затем запустите бота с помощью команды

python3 bots.py

После этого бот должен заработать.

Для того, чтобы бот работал автономно и вам не приходилось все время сидеть с включенным пк, его надо загрузить на удаленный сервер. Для этого я использовал Ubuntu Server, главное чтобы он был расположен в другой стране, опять же из-за блокировки телеграм в РФ, я нашел vps стоимостью 3$, его достаточно для создания обыкновенного бота.

Как развернуть удаленный сервер я расскажу в следующей статье.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.