Ya hemos visto como mandar mensajes con el bot y también sabemos como establecer el método Webhook, pero ahora mismo tal y como lo hemos dejado el bot siempre nos va a mandar el mismo mensaje. Vamos a indicarle a nuestro robot que nos conteste un mensaje distinto según el comando que le mandemos.

Ahora mismo nuestro bot solo tiene un comando que es /saluda. Vamos a poner los siguientes comandos:

  • /hora. Dice la hora.
  • /saluda. Saluda el bot.
  • /imagen. Muestra una imagen aleatoria.

Anteriormente vimos que usando el metodo setWebhook, podíamos obtener una serie de variables como el id del chat desde donde nos hablan o el username. También podemos obtener el texto que nos llega en esa conversación con tan solo poner:

 

Así que utilizando un switch y dependiendo lo que nos llegue le diremos al bot que haga una acción u otra.

 

Para mostrar la imagen aleatoria usaremos el servicio de UnSpalsh que lo que haces es ofrecernos una imagen aleatoria del tamaño que le digamos. Y para mostrar la hora usamos la función date de php, que nos devolverá la fecha del servidor. Lo digo porque en mi ejemplo se ve un desfase horario y es por donde está ubicado mi hosting.

Ahora  probamos cada uno de los comandos en el bot y obtenemos lo siguiente.

 

 

Todo el código unido quedaría de la siguiente manera: