Ir para conteúdo
Fórum Script Brasil
  • 0

Assistente


fatimamaria

Pergunta

Olá pessoal, sou nova na comunidade, entendo muito pouco de asp e gostaria da ajuda de vocês, bom não sei por onde começar e gostaria de uma luz, gostaria de saber como eu posso criar um assistente virtual utilizando asp e access

A idéia inicial é ter uma janela onde o usuário digita uma pergunta e o assistente emite uma resposta comparando no banco de dados a resposta.

Tem como fazer isso?

Obrigada,

Fátima

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

OI....

Primeiramente, porque Case "CDONTS" ??? Você não esta fazendo verificação de Casos.....

Veja para que serve o Case....

Entenda assim em Português:

Caso a casa seja amarela,

Comprar tinta amarela.

Caso a casa seja azul,

Comprar tinta azul

---------------------------------------------------

Bem retire este Case para começar.....

---------------------------------------------------

A sua Variável não é Resposta.....

Lembre que logo no começo do código eu fiz :

pergunta = Trim(Request.Form("perguntas"))

Então: eObjMail.body = resposta

Não deve estar certo né !!! rsrsrsrs

Vou te passar um código bem simples do Cdonts:

<%

Option Explicit

Dim , var_mail, var_pergunta, var_to, EnviarMail, MsgBody

var_mail = "fatimamaria2006@bol.com.br"

var_to = "fatimamaria2006@bol.com.br"

var_pergunta = Request.form("pergunta")

Set EnviarMail = Server.CreateObject("CDONTS.NewMail")

EnviarMail.To = var_to

EnviarMail.From = var_mail

EnviarMail.Subject = "Assitente virtual"

MsgBody = var_pergunta

EnviarMail.Body = MsgBody

EnviarMail.Importance = 1

EnviarMail.BodyFormat = 0

EnviarMail.MailFormat = 0

EnviarMail.Send

Set EnviarMail = Nothing

Response.redirect "Obrigado.asp"

%>

Não testei, mas tenta ai !!!!! e vai postando !!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Oi,

Fiz e refiz, mas não ta enviando, ta dando erro no servidor, olha o código:

<%

'Email para onde serão enviados os dados do formulário
email_form = "fatimamaria2006@bol.com.br"

'Título do email
assunto_form = "Assistente virtual"

'Servidor de email
servidor = "smtp.sementesdinale.com.br"

'Componente para envio do email: CDONTS
componente = "CDONTS"

'Cabeçalho do texto do email recebido
cabecalho_email = "Pergunta não cadastrada no assistente"

'*******************************************************************
%>
<html>
<head>
<title>Assistente Virtual</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<%


pergunta = Trim(Request.Form("perguntas"))
If Len(pergunta) < 1 Then
%>
               <b> Você precisa digitar uma pergunta!!</b>
<%
Else


dim dsn
dim Conn
dsn="DBQ=" & Server.Mappath("perguntas_respostas.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open dsn


sql = "SELECT *FROM tabela WHERE perguntas = '"&pergunta&"'"
Set RS = Conn.Execute(sql)

If RS.EOF Then
%>

<b> Não tem resposta para sua pergunta </b>

<%

Option Explicit

Dim , var_mail, var_pergunta, var_to, EnviarMail, MsgBody


var_mail = "fatimamaria2006@bol.com.br"
var_to = "fatimamaria2006@bol.com.br"
var_pergunta = Request.form("pergunta")

Set EnviarMail = Server.CreateObject("CDONTS.NewMail")
EnviarMail.To = var_to
EnviarMail.From = var_mail
EnviarMail.Subject = "Assitente virtual"
MsgBody = var_pergunta
EnviarMail.Body = MsgBody
EnviarMail.Importance = 1
EnviarMail.BodyFormat = 0
EnviarMail.MailFormat = 0
EnviarMail.Send

Set EnviarMail = Nothing

Response.redirect "Obrigado.asp"

%>


<% Else
perguntas = RS("perguntas")
respostas = RS("respostas")
%>
<b>Pergunta:</b>  <%=perguntas%> <br>
<b>Resposta:</b>  <%=respostas%> <br><br>

<%
RS.Close
Conn.Close
Set RS = Nothing
Set Conn = Nothing
End If
End If


%>


</body>
</html>
Tentei fazer com aquele que eu tinha feito mas sem o "case" e não deu.. será que to fazendo burrada? ah e fiz assim também:
<html>
<head>
<title>Assistente Virtual</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<%


pergunta = Trim(Request.Form("perguntas"))
If Len(pergunta) < 1 Then
%>
               <b> Você precisa digitar uma pergunta!!</b>
<%
Else


dim dsn
dim Conn
dsn="DBQ=" & Server.Mappath("perguntas_respostas.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open dsn


sql = "SELECT *FROM tabela WHERE perguntas = '"&pergunta&"'"
Set RS = Conn.Execute(sql)

If RS.EOF Then
%>

<b> Não tem resposta para sua pergunta </b>

<%

Option Explicit

Dim , var_mail, var_pergunta, var_to, EnviarMail, MsgBody


var_mail = "fatimamaria2006@bol.com.br"
var_to = "fatimamaria2006@bol.com.br"
var_pergunta = Request.form("pergunta")

Set EnviarMail = Server.CreateObject("CDONTS.NewMail")
EnviarMail.To = var_to
EnviarMail.From = var_mail
EnviarMail.Subject = "Assitente virtual"
MsgBody = var_pergunta
EnviarMail.Body = MsgBody
EnviarMail.Importance = 1
EnviarMail.BodyFormat = 0
EnviarMail.MailFormat = 0
EnviarMail.Send

Set EnviarMail = Nothing

Response.redirect "Obrigado.asp"

%>


<% Else
perguntas = RS("perguntas")
respostas = RS("respostas")
%>
<b>Pergunta:</b>  <%=perguntas%> <br>
<b>Resposta:</b>  <%=respostas%> <br><br>

<%
RS.Close
Conn.Close
Set RS = Nothing
Set Conn = Nothing
End If
End If


%>


</body>
</html>

bjs

Link para o comentário
Compartilhar em outros sites

  • 0

Faz Asssim::

Na página RESPOSTAS.ASP

<html>
<head>
<title>Assistente Virtual</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<%


pergunta = Trim(Request.Form("perguntas"))
If Len(pergunta) < 1 Then
%>
              <b> Você precisa digitar uma pergunta!!</b>
<%
Else


dim dsn
dim Conn
dsn="DBQ=" & Server.Mappath("perguntas_respostas.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open dsn


sql = "SELECT *FROM tabela WHERE perguntas = '"&pergunta&"'"
Set RS = Conn.Execute(sql)

If RS.EOF Then

Response.redirect "enviaemail.asp?pergunta=" & pergunta & "'"

Else
perguntas = RS("perguntas")
respostas = RS("respostas")
%>
<b>Pergunta:</b>  <%=perguntas%> <br>
<b>Resposta:</b>  <%=respostas%> <br><br>

<%
RS.Close
Conn.Close
Set RS = Nothing
Set Conn = Nothing
End If
End If
%>

</body>
</html>
Crie uma nova Página chamada : enviaemail.asp

<%

Option Explicit

Dim var_pergunta, var_to, var_Mail, EnviarMail, MsgBody

var_pergunta = Request.QueryString("pergunta")
var_to = "fatimamaria2006@bol.com.br"
var_Mail = "fatimamaria2006@bol.com.br"

Set EnviarMail = Server.CreateObject("CDONTS.NewMail")
EnviarMail.To = var_to
EnviarMail.From = var_Mail
EnviarMail.Subject = "Assitente virtual"
MsgBody = var_pergunta
EnviarMail.Body = MsgBody
EnviarMail.Importance = 1
EnviarMail.BodyFormat = 0
EnviarMail.MailFormat = 0
EnviarMail.Send

Set EnviarMail = Nothing

' Mostra Mensagem de Confirmação na Tela
Response.write "Não encontramos a resposta para sua pergunta, então encaminhamos para a administradora... !"

' Redireciona após 5 segundos
response.write "<br><br>Você será redirecionado em 3 segundos..<br>"
response.write "<meta http-equiv='refresh' content='3; url=default.asp'/>"
%>

Bem, eu tetei e funcionou..... você já Verificou se o servidor tem Cdonts??

Testa ai....... depois tenta cadastrar automaticamente a pergunta no BD encaminhar uma mnsagem padrão para você que um visitante fez uma pergunta sem resposta !!!

Link para o comentário
Compartilhar em outros sites

  • 0

Oi, olha eu aqui de novo, achei esse código no fórum e gostaria de saber se da para adapta-lo, achei bem interessante, da uma olhada:

function Fonetica(campo, valor)
  
  fonetica = " (" &_
        " replace(replace(replace( "                &_
        " replace(replace(replace( "                &_
        " replace(replace(replace( "                &_
        " replace(replace(replace( "                &_
        " replace(replace(replace( "                &_
        " replace(replace(replace( "                &_
        " replace(replace( "                        &_
      " translate(lower(  " & campo & " )," &_ 
      " 'ãáâàõôóêéxçzkcmyíúvw',"  &_ 
      " 'aaaaoooeesssssniiuuu')," &_
      " 'qu','s'  ),  'h',''    ),  '''',''    ), "    &_
      " 'zz','s'  ),  'll','l'  ),  'mm','m'  ), "    &_
      " 'tt','t'  ),  'rr','r'  ),  'ff','f'  ), "    &_
      " 'ii','i'  ),  'bb','b'  ),  'eia','ea' ), "    &_
      " 'nn','n'  ),  'ch', 's' ),  'gg','g'  ), "    &_
      " 'ou', 'u' ),  'st', 't' ),  'sh', 's'  ), "    &_
      " 'ss','s'  ),  'st', 't' ) "                    &_
    " LIKE " &_
        " replace(replace(replace( "                &_
        " replace(replace(replace( "                &_
        " replace(replace(replace( "                &_
        " replace(replace(replace( "                &_
        " replace(replace(replace( "                &_
        " replace(replace(replace( "                &_
        " replace(replace( "                        &_
      "translate(lower(  '%" & valor & "%' )," &_ 
      "'ãáâàõôóêéxçzkcmyíúvw',"  &_ 
      "'aaaaoooeesssssniiuuu')," &_ 
      " 'qu','s'  ),  'h',''    ),  '''',''    ), "    &_
      " 'zz','s'  ),  'll','l'  ),  'mm','m'  ), "    &_
      " 'tt','t'  ),  'rr','r'  ),  'ff','f'  ), "    &_
      " 'ii','i'  ),  'bb','b'  ),  'eia','ea' ), "    &_
      " 'nn','n'  ),  'ch', 's' ),  'gg','g'  ), "    &_
      " 'ou', 'u' ),  'st', 't' ),  'sh', 's'  ), "    &_
      " 'ss','s'  ),  'st', 't' ) "                    &_
    " )"
end function

bjos

Link para o comentário
Compartilhar em outros sites

  • 0

Então, explicando melhor, estava procurando soluções para o sistema e achei esse para adaptar ao que o douglasdamame ajudou fazer, no exemplo atual da para procurar as perguntas exatas, assim esta muito bem, mas pensei em um exemplo: se o usuário digitar "vc" ao invés de Você não vai achar mesmo, então esse cógido faz isso, ou mais oumenos que eu tenha entendido rs

será que alguém pode me dar uma forcinha?

bjos

obrigada

Link para o comentário
Compartilhar em outros sites

  • 0

O código completo ficou assim:

formulario.asp

<html>
<head>
<title>Assistente Virtual</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="respostas.asp">
  <b><font size="2" face="Arial">Digite sua pergunta: 
  <input type="text" name="perguntas">
 <input type="submit" name="Submit" value="Enviar">
 </font></b> 
</form>
<p><font face="Tahoma" size="2"><b>&nbsp;<br>
  <br>
  Perguntas Cadastradas no BD: </b></font></p>
<p> <font face="Tahoma" size="2"> 
  <%
dim dsn
dim Conn
dsn="DBQ=" & Server.Mappath("perguntas_respostas.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open dsn


sql = "SELECT top 4 * FROM tabela order by ID "
Set RS = Conn.Execute(sql)

TotalRecs = rs.recordcount
w = 0
For w = 1 to 20
	If rs.eof then 

  Exit For
	Else
  perguntas = RS("perguntas")
   %>
  - <%=perguntas%> <br>
  <%rs.MoveNext
End If
Next
%>
  </font></p>
</body>
</html>
respostas.asp
<html>
<head>
<title>Assistente Virtual</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">

<%
pergunta = Trim(Request.Form("perguntas"))
If Len(pergunta) < 1 Then
%>
<b>Você precisa digitar uma pergunta!!</b>
<%

Else

dim dsn
dim Conn
dsn="DBQ=" & Server.Mappath("perguntas_respostas.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open dsn

sql = "SELECT *FROM tabela WHERE perguntas = '"&pergunta&"'"
Set RS = Conn.Execute(sql)

If RS.EOF Then

Response.redirect "enviaemail.asp?pergunta=" & pergunta & "'"

Else
perguntas = RS("perguntas")
respostas = RS("respostas")
%>
<b>Pergunta:</b>  <%=perguntas%> <br>
<b>Resposta:</b>  <%=respostas%> <br><br>

<%
RS.Close
Conn.Close
Set RS = Nothing
Set Conn = Nothing
End If
End If
%>
</body>
</html>
enviaemail.asp
<%

Option Explicit

Dim var_pergunta, var_to, var_Mail, EnviarMail, MsgBody

var_pergunta = Request.QueryString("pergunta")
var_to = "fatimamaria2006@bol.com.br"
var_Mail = "fatimamaria2006@bol.com.br"

Set EnviarMail = Server.CreateObject("CDONTS.NewMail")
EnviarMail.To = var_to
EnviarMail.From = var_Mail
EnviarMail.Subject = "Assitente virtual"
MsgBody = var_pergunta
EnviarMail.Body = MsgBody
EnviarMail.Importance = 1
EnviarMail.BodyFormat = 0
EnviarMail.MailFormat = 0
EnviarMail.Send

Set EnviarMail = Nothing

' Mostra Mensagem de Confirmação na Tela
Response.write "Não encontramos a resposta para sua pergunta, então encaminhamos para a administradora... !"

' Redireciona após 5 segundos
response.write "<br><br>Você será redirecionado em 3 segundos..<br>"
response.write "<meta http-equiv='refresh' content='3; url=default.asp'/>"
%>
Até ai, funciona direitinho, mas pintou uma dúvida, aliais uma solução, eu consigo ter a resposta do sistema para perguntas feitas exatamente como foi cadastrada, e se o usuário digitar uma pergunta diferente o sistema envia um e-mail. Dai achei esse código:
function Fonetica(campo, valor)

 fonetica = " (" &_
       " replace(replace(replace( "                &_
       " replace(replace(replace( "                &_
       " replace(replace(replace( "                &_
       " replace(replace(replace( "                &_
       " replace(replace(replace( "                &_
       " replace(replace(replace( "                &_
       " replace(replace( "                        &_
     " translate(lower(  " & campo & " )," &_ 
     " 'ãáâàõôóêéxçzkcmyíúvw',"  &_ 
     " 'aaaaoooeesssssniiuuu')," &_
     " 'qu','s'  ),  'h',''    ),  '''',''    ), "    &_
     " 'zz','s'  ),  'll','l'  ),  'mm','m'  ), "    &_
     " 'tt','t'  ),  'rr','r'  ),  'ff','f'  ), "    &_
     " 'ii','i'  ),  'bb','b'  ),  'eia','ea' ), "    &_
     " 'nn','n'  ),  'ch', 's' ),  'gg','g'  ), "    &_
     " 'ou', 'u' ),  'st', 't' ),  'sh', 's'  ), "    &_
     " 'ss','s'  ),  'st', 't' ) "                    &_
   " LIKE " &_
       " replace(replace(replace( "                &_
       " replace(replace(replace( "                &_
       " replace(replace(replace( "                &_
       " replace(replace(replace( "                &_
       " replace(replace(replace( "                &_
       " replace(replace(replace( "                &_
       " replace(replace( "                        &_
     "translate(lower(  '%" & valor & "%' )," &_ 
     "'ãáâàõôóêéxçzkcmyíúvw',"  &_ 
     "'aaaaoooeesssssniiuuu')," &_ 
     " 'qu','s'  ),  'h',''    ),  '''',''    ), "    &_
     " 'zz','s'  ),  'll','l'  ),  'mm','m'  ), "    &_
     " 'tt','t'  ),  'rr','r'  ),  'ff','f'  ), "    &_
     " 'ii','i'  ),  'bb','b'  ),  'eia','ea' ), "    &_
     " 'nn','n'  ),  'ch', 's' ),  'gg','g'  ), "    &_
     " 'ou', 'u' ),  'st', 't' ),  'sh', 's'  ), "    &_
     " 'ss','s'  ),  'st', 't' ) "                    &_
   " )"
end function

Basicamente ele faz a verificação da digitação e valida, exemplo de uma pergunta assim: "Você esta bem?" e se o usuário digitar: "você esta bem?" ele entende e localiza o registro, o problema é que não to sabendo adaptar no que já tenho pronto...

help-me please

bjos Fá

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...