Article image
Weslley Ferraz
Weslley Ferraz10/12/2023 13:18
Compartilhe

ChatBoot com PHP

  • #PHP
  • #MySQL
  • #Laravel

Estou entusiasmado em compartilhar minha mais recente inovação: a implementação de um chatbot desenvolvido em PHP, destinado a responder perguntas relacionadas a uma loja. Nesta versão inicial, apresento uma abordagem simplificada, mas é apenas o começo, pois tenho planos de aprimorar e expandir significativamente esse projeto.

O chatbot atual é capaz de lidar com perguntas sobre horários de funcionamento, produtos, pedidos e localização da loja. Por exemplo, ao indagar sobre os horários de atendimento, o chatbot fornece informações detalhadas, incluindo os dias da semana e os horários de operação, adaptando-se às diferentes localidades da loja. Se a pergunta envolve produtos, o chatbot destaca a variedade de produtos naturais disponíveis na loja, desde suplementos até alimentos orgânicos e produtos de cuidados pessoais.

Além disso, o chatbot responde a perguntas sobre a possibilidade de fazer pedidos online. Sim, é possível realizar pedidos por meio do WhatsApp, oferecendo aos clientes uma maneira conveniente de adquirir produtos. A resposta do chatbot fornece orientações sobre como utilizar o catálogo online e selecionar opções de entrega.

Para questões relacionadas à localização da loja, o chatbot oferece respostas específicas com base nas palavras-chave presentes na pergunta. Ele indica endereços precisos para diferentes filiais da loja, incentivando os usuários a visitarem os estabelecimentos.

Este é apenas o ponto de partida, e estou comprometido em aprimorar continuamente o chatbot. Se você deseja acompanhar de perto a evolução deste projeto, convido-o a conferir o repositório no GitHub que mantenho para esta iniciativa. Lá, você encontrará o código-fonte, informações sobre as atualizações e terá a oportunidade de contribuir para o desenvolvimento.

Estou empolgado com as possibilidades que este chatbot pode oferecer para melhorar a interação com os clientes da loja. Fique atento às futuras atualizações e, para aqueles interessados em explorar o código ou contribuir, o link para o GitHub está disponível abaixo. Mal posso esperar para ver como esse projeto se desenvolverá!

<?php


function responderPergunta(string $pergunta): string
{
  $resposta = "Desculpe, não encontrei informações para essa pergunta.";


  if (stripos($pergunta, 'horário') !== false || stripos($pergunta, 'horario') !== false || stripos($pergunta, 'horários') !== false) {
      $resposta = "";
      if (stripos($pergunta, 'varzea') !== false || stripos($pergunta, 'várzea') !== false) {
          $resposta = "Estamos abertos de segunda a sexta, das 8h às 18h, e aos sábados, das 8h às 14h.";
      } elseif (stripos($pergunta, 'cuiaba') !== false || stripos($pergunta, 'cuiabá') !== false || stripos($pergunta, 'cuiabá') !== false || stripos($pergunta, 'centro') !== false) {
          $resposta = "Estamos abertos de segunda a sexta, das 8h às 18h, e aos sábados, das 8h às 14h.";
      } elseif (stripos($pergunta, 'porto') !== false) {
          $resposta = "Estamos abertos de segunda a sexta, das 8h às 18h, e aos sábados, das 8h às 14h.";
      } else {
          $resposta = "Estamos abertos de segunda a sexta, das 8h às 18h, e aos sábados, das 8h às 14h. Porém no sabado a loja de Várzea Grande está aberta das 8h às 18h";
      }
      $resposta .= " Venha nos visitar!";
  } elseif (stripos($pergunta, 'produtos') !== false || stripos($pergunta, 'produto') !== false) {
      $resposta = "Oferecemos uma variedade de produtos naturais, incluindo suplementos, alimentos orgânicos e produtos de cuidados pessoais.";
  } elseif (stripos($pergunta, 'pedido') !== false) {
      $resposta = "Sim, aceitamos pedidos online através do nosso whatsapp. Você pode fazer seu pedido através do nosso catalogo e escolher a opção de entrega.";
  } elseif (stripos($pergunta, 'localização') !== false || stripos($pergunta, 'localizacao') !== false || stripos($pergunta, 'Onde') !== false || stripos($pergunta, 'loja') !== false || stripos($pergunta, 'lojas') !== false) {
      if (stripos($pergunta, 'varzea') !== false || stripos($pergunta, 'várzea') !== false) {
          $resposta = "Estamos localizados na Avenida Couto Magalhães.";
      } elseif (stripos($pergunta, 'cuiaba') !== false || stripos($pergunta, 'cuiabá') !== false || stripos($pergunta, 'cuiabá') !== false || stripos($pergunta, 'centro') !== false) {
          $resposta = "Rua Joaquin Murtinho, 319, Cidade Cuiabá.";
      } elseif (stripos($pergunta, 'porto') !== false) {
          $resposta = "Rua Feliciano Galdino, 585, Cidade Cuiabá.";
      } else {
          $resposta = "Estamos localizados na Avenida Couto Magalhães, 1776, Cidade Várzea Grande | \nRua Feliciano Galdino, 585, Cidade Cuiabá | \nRua Joaquin Murtinho, 319, Cidade Cuiabá.";
      }
      $resposta .= " Venha nos visitar!";
  }


  return $resposta;
}


if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  $dadosRecebidos = json_decode(file_get_contents('php://input'), true);


  if (isset($dadosRecebidos['pergunta'])) {
      $respostaDoChatbot = responderPergunta($dadosRecebidos['pergunta']);


      header('Content-Type: application/json');
      echo json_encode(['resposta' => $respostaDoChatbot]);
  } else {
      header('HTTP/1.1 400 Bad Request');
      echo json_encode(['erro' => 'A chave "pergunta" não foi fornecida']);
  }
} else {
  header('HTTP/1.1 405 Method Not Allowed');
  echo json_encode(['erro' => 'Método não permitido. Use o método POST.']);
}


Link do repositório aqui.

meu site: https://engenheirosoftwareweslley.com.br/views/home.php

Compartilhe
Comentários (2)
Weslley Ferraz
Weslley Ferraz - 10/12/2023 19:39

@Carlos Alecrim Já estou estudando Python para IA na Rocketseat, quando eu estiver dominando, também publicarei um artigo aqui

Carlos Alecrim
Carlos Alecrim - 10/12/2023 15:45

Legal para o entendimento de como funciona um chat bot, porém quanto mais decisões tiver que implementar mas complexo irá se tornar, então estudar um pouco de python e arvore de decisão e que frameworks implementam seria um caminho para avança na aquisição de mas conhecimento e experiência. :)