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:
python,telegram bots,для начинающих,боты,разработка в телеграм,для чайников,ubuntu server

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.