Enviando a primeira mensagem para o usuário - seja bem-vindo e assine
Na primeira parte, aprendemos como iniciar um iniciador, instalar o webhook para o nosso projeto botviber.Nesta segunda, aprenderemos como enviar a primeira mensagem mostrada aos nossos usuários, criar links para pesquisar e iniciar nosso bot, tanto dentro do ViberURL quanto no NoViberURL
Vamos formar links para o bot
1) QR offline - pode ser baixado da área de administração afiliada do viber2) Link para mensagens instantâneas e transferência via ViberURL messengerviber://pa?chatURI=dinner&context=fromhabr
3) NoViberURL link de redirecionamento na Internet, existem muitos encurtadores de URL - mas todos parecem spam, por isso recomendo criar seu próprio código a partir de três linhas de PHP e colocar o arquivo em sua hospedagem. Aqui está o conteúdo do arquivo foot.php<?php
header ("Location: viber://pa?chatURI=dinner");
exit();
Saudações botviber ou "evento": "conversa_início"
Após abrir o QR ou clicar no link para o endereço do nosso aplicativo nos servidores Viber (Jetty), as solicitações POST com um evento ("event": "conversation_started") chegam e seu conteúdo completo se parece com o seguinte:PARÂMETROS RECEBIDOS PÓS - ou JSON de 13 campos{
"chat_hostname": "SN-327_",
"event": "conversation_started",
"context": "fromlanding",
"message_token": 5406893180055821524,
"subscribed": false,
"timestamp": 1581161565470,
"type": "open",
"user": {
"api_version": 8,
"avatar": "https://media-direct.cdn.viber.com/avatar...",
"country": "RU",
"id": "J2k6sasdgghaazDeoXVYww==",
"language": "ru",
"name": "Denis" №
}
}
Mas na maioria dos casos, estamos interessados apenas nesses 5 campos{
"context": "fromlanding",
"subscribed": false,
"user": {
"country": "RU",
"id": "J2k6sasdgghaazDeoXVYww==",
"name": "Denis" №
}
}
E às vezes precisamos apenas de um campo«id»: «J2k6sasdgghaazDeoXVYww==»
Este é o principal identificador Viber do usuário, um análogo de chat_id em telegrama.E, observe que no carrinho chat_id, o único mensageiro em todos os bots é igual ao número de celular em todos os bots, e o ID da vibração é como um token e é único em um dos seus bots. Em outro bot, seu ID será diferente ...
Nós processamos e respondemos para obter uma das três respostas, como na captura de tela acimaa) type = "text"b) e aqui vemos o caso clássico de type = "rich_media"c) na terceira tela Type = "keyboard"Mais detalhes sobre a API REST do viber , e abaixo consideraremos como obter a primeira opçãoComo já vimos, o botviber pode ter a marca de qualquer empresa ou mini-shop, além de personalizar o estilo do site principal
1) para processar mensagens do usuário no arquivo de projeto myviberbot / views.py, faça as alterações:
import requests
import json
from django.shortcuts import HttpResponse
from django.views.decorators.csrf import csrf_exempt
auth_token = '45df835d27d01f-cd2e7wetwerga18a8-9a7wert786234'
url = 'https://chatapi.viber.com/pa/send_message'
headers = {'X-Viber-Auth-Token': auth_token}
def sending(func):
def wrapped(*args):
return requests.post(url, json.dumps(func(*args)), headers=headers)
return wrapped
@sending
def send_text(agent, text, track=None):
m = dict(receiver=agent, min_api_version=2, tracking_data=track, type="text", text=text)
return m
@csrf_exempt
def trx_bot(request):
if request.method == "POST":
viber = json.loads(request.body.decode('utf-8'))
if viber['event'] == 'conversation_started':
print(" ")
conversation(viber)
elif viber['event'] == 'webhook':
return HttpResponse(status=200)
else:
print(" Webhook - , POSTMAN")
return HttpResponse(status=500)
return HttpResponse(status=200)
def conversation(viber):
id = viber['user']['id']
if viber['subscribed']:
send_text(id, ' ')
else:
send_text(id, ' ?\n\n . ...')
Reinicie nosso projeto Django.Infelizmente, “Rakuten Viber” não fornece páginas oficiais para a PA e a comunidade para ninguém, com exceção de grandes marcas e figuras públicas, portanto, para promoção de SEO e relações públicas em redes sociais etc. Aqui está uma amostra de recursos: Inicie o botviber com êxito. Para continuar ... No próximo artigo, analisaremos o evento ["message"], para processar mensagens do usuário, você aprenderá o que fazer para conduzir um diálogo, como separar as seguintes mensagens, geralmente como ensinar o botviber a entender que estas são as seguintes. (Criando um Viberbot completo no Django 2 e na API Riber do Viber. Parte três - mensagem) Materiais: documentação da API REST do viber
Django versão 2.2Radio-miner