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