Quem precisa de chatbots?
O mercado de chatbot na Rússia está crescendo em um ritmo vertiginoso e deve crescer 30% ao ano nos próximos três anos. Em 2020, o número de solicitações de chatbots aumentou 17% em relação a 2019. Os bots de voz estão em grande demanda, o número de solicitações por eles quadruplicou. Em 2021, espera-se que o número de solicitações de bots de bate-papo cresça em 15-20% de organizações do setor público, educação, medicina, logística, varejo e comércio eletrônico, empresas industriais e de mineração.
Degraus
Nós criamos nosso bot de telegramas
Nós escrevemos o código para nossas tarefas e testamos seu desempenho
Escolhendo um serviço de máquina virtual confiável
Transferimos nosso bot para uma máquina virtual para seu trabalho posterior.
Configuramos o funcionamento contínuo do bot.
Etapa 1. Criando um bot no Telegram
Descreverei as três primeiras etapas da forma mais sucinta possível, pois existem muitos artigos sobre esse assunto e geralmente isso não causa dificuldades para os usuários. Para criar um bot, precisamos escrever BotFather
Etapa 2. Vamos escrever um chatbot simples e testá-lo.
Para o trabalho, usaremos a biblioteca telebot, que pode ser instalada usando o seguinte comando:
$ pip install pytelegrambotapi
Para instalar outras bibliotecas, se você não se limitar às funcionalidades básicas, Deus o ajudará.
Vamos escrever um bot simples que nos enviará em resposta a vários emojis suas cópias PNG desfocadas:
import telebot
import PIL
from PIL import Image
from requests import get
#
bot = telebot.TeleBot('1653707062:AAHxX29RP5HY-nVb21SSD8ZRbKpxKseSyS4')
@bot.message_handler(commands=['start'])
def start_message(message):
bot.send_message(message.chat.id, ' Emoji, .)
@bot.message_handler(content_types=['text'])
def send_text(message):
if message.text.lower() == ' ':
img = open(' 1.png', 'rb')
bot.send_document(message.chat.id, img)
elif message.text.lower() == ' ':
img = open(' 2.png', 'rb')
bot.send_document(message.chat.id, img)
else:
bot.send_message(message.chat.id, ', Emoji')
bot.polling()
# , habr
Nosso bot está pronto, agora falta testá-lo. Siga o link enviado por BotFather
, . : , . - .
3. !
?
( ) — , (, , ). . , , , .
24 7
?
. , . , , .
:
Mail cloud solutions - 3000 . . ( )
Yandex.Cloud - 2000 . .
Google Cloud Platform - 300$ .
, .
.
, - .
.
SSH. , ssh-.
:
$ ssh-keygen
Enter. . public-key .pub. « »
.
:
ssh -i ~/.ssh/ ubuntu@ IP
: ssh -i ~/.ssh/my_key ubuntu@22.222.222.222
:
, , .
Python. :
$ sudo apt update
$ sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev
$ wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz
$ tar -xf Python-3.8.5.tgz
$ cd Python-3.8.5
$ ./configure --enable-optimizations
$ make # ~15
$ sudo make altinstall
$ cd /home
:
$ python3.8 -m pip install --upgrade pip $ pip install virtualenv $ mkdir $ cd $ virtualenv venv $ source venv/bin/activate $ python -V $ deactivate
Redis-server:
$ sudo apt install redis-server $ redis-cli
, Redis-server, «ping»
PONG, , !
SFTP, IP , !! ssh-, .
, Python, . . .
, , .
$ cd /home// # $ source venv/bin/activate # $ pip install -r requirements.txt # $ python main.py #
, , deactivate. . .
5. .
: nano /lib/systemd/system/.service
[Unit]
Description=
After=network.target
[Service]
EnvironmentFile=/etc/environment
ExecStart=/home//venv/bin/python main.py
ExecReload=/home//venv/bin/python main.py
WorkingDirectory=/home//
KillMode=process
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
CTRL+O -> Enter -> CTRL+X . .
: , .
sudo systemctl enable sudo systemctl start
! 24/7, , . - , , . , «sudo» ( )
PS: O tópico de telegramas de bot se tornou muito interessante e relevante recentemente, então ficarei feliz em ouvir críticas sãs sobre meu primeiro artigo neste momento. Se você tiver alguma idéia para escrever novos, ficarei feliz em ouvi-los.
Quero dar um exemplo do meu trabalho conjunto com um amigo na criação de um bot que pode fazer assinaturas eletrônicas em 2 segundos: Telegrama: Entre em contato com @Facsimile_bot