Recojer respuesta

53 views
Skip to first unread message

yuju yu

unread,
Jun 18, 2013, 3:35:13 PM6/18/13
to sbpo...@googlegroups.com
Estoy probando esto de Spotbros y quería hacer una aplicación estilo triviApp, es decir, que te hagan una pregunta y el usuario responda.
 
En el echobot tengo puesto un "onNewMessage" donde si el usuario pone "jugar" acto seguido se le pone la pregunta para que la conteste pero lo que
no se, es como recoger la respuesta del usuario, ya que me entra de nuevo por el "onNewMessage" y como lo que ha escrito el usuario
no es "jugar" pues no hace lo que debería.
 
Se que es un error de principiante pero no se como estructurarlo para recoger la respuesta nueva.
 
Gracias de antemano.

Alvaro martinez gonzalez

unread,
Jun 18, 2013, 3:41:47 PM6/18/13
to sbpo...@googlegroups.com
Yo tambien me uno a la pregunta

Aitor Perez

unread,
Jun 19, 2013, 3:57:42 AM6/19/13
to sbpo...@googlegroups.com
A mi me pasa mas o menos parecido. Quiero hacer una aplicacion que te diga los horarios del metro en tiempo real. Ya tengo el parse de la web en php. Lo que quiero es que solo valga decir las paradas, si dices otra cosa, que te salte un mensaje de que esa parada no existe.

Guillermo Barbero

unread,
Jun 19, 2013, 5:14:35 AM6/19/13
to sbpo...@googlegroups.com
Son problemas diferentes,

  Para el primero, hace falta diseñar algo parecido a una "máquina de estados" en el lado del servidor. Deberías asociar a cada usuario en qué estado está (por defecto el 0, por ejemplo). Así con cada estado, tendrías una lógica a seguir:
  • Estado 0
    • Si escribe "jugar", se pasa al estado 1 (y se le envía un mensaje con la pregunta, por ejemplo, y se guarda la respuesta correcta que ha de decir ese usuario)
    • Si escribe cualquier otra cosa, se le dice que no se entiende lo que ha puesto
  • Estado 1
    • Si escribe "fin" se pasa al estado 0 (y se envía un mensaje diciendo que se acabó el juego)
    • Si es la respuesta que se esperaba para ese usuario (la habíamos guardado en el estado 0) se envía otra pregunta y se vuelve a guardar la nueva respuesta esperada
    • Si no es la respuesta esperada se le dice que ha fallado (y sele envía otra pregunta, por ejemplo)
Estar en el estado 0 y no tener estado podrías considerarlo lo mismo a efectos prácticos

En cuanto a lo de que sólo valga decir paradas de metro, sólo hay que comprobar que la palabra metida está dentro de una lista de palabras aceptadas, pero no hace falta guardar un estado para eso

Espero que os sirva de ayuda

--
Has recibido este mensaje porque estás suscrito al grupo "sbportal" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a sbportal+u...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 



--
 
Guillermo Barbero - Backend Team

Spotbros Technologies

  

yuju yu

unread,
Jun 19, 2013, 3:37:55 PM6/19/13
to sbpo...@googlegroups.com
 
Si, lo de utilizar una bandera ya lo había intentado pero el problema es que inicio la bandera a 0 y cuando el jugador poner "jugar" la pongo a 1, pero cuando el usuario escribe la respuesta la bandera se ha vuelto a cambiar a 0 ya que vuelve a recorrer el echobot y no se como guardar correctamente el valor de esa variable para que cuando el usuario escriba d nuevo el valor de la bandera no cambie.
 
Como debo de estructurarlo para que funcione correctamente???
 
Gracias.

Guillermo Barbero

unread,
Jun 20, 2013, 5:46:44 AM6/20/13
to sbpo...@googlegroups.com
Usa una base de datos para guardar el estado del jugador

--
Has recibido este mensaje porque estás suscrito al grupo "sbportal" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a sbportal+u...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

yuju yu

unread,
Jun 22, 2013, 7:31:30 AM6/22/13
to sbpo...@googlegroups.com

El jueves, 20 de junio de 2013 11:46:44 UTC+2, Guillermo Barbero escribió:
Usa una base de datos para guardar el estado del jugador
 
 
 
Se puede utilizar la base de datos del host??con el típico "mysql_connect" y "mysql_query"??? 

Alvaro martinez gonzalez

unread,
Jun 22, 2013, 11:19:36 AM6/22/13
to sbpo...@googlegroups.com
Yo he utilizado eso y me funciona.

Ejemplo:

$link = mysql_connect("mysql.hostinger.es", "uXXXXXXXXX_eeee", "******");
mysql_select_db("uXXXXXXXXX_xxxxx");
$sql2="SELECT * FROM usuarios WHERE sbcode='".$code."'";
$tabla = mysql_query($sql2);
while ($registro = mysql_fetch_array($tabla)){
            $bandera=$registro['estado'];
 }

Reply all
Reply to author
Forward
0 new messages