Crear un bot de Telegram con Nutgram – mensajes más elegantes

Seguimos con la serie de bots y Telegram que empezó aquí. En el último post nos quedamos con un código que era capaz de responder a mensajes recibidos por el bot: Pero ¿qué es lo que hace este código? Vamos a verlo por partes. El modo polling y el modo WebHook Lo primero que hace … Leer más

Crear un bot de Telegram con Nutgram – responer a mensajes

Seguimos con la serie de bots y Telegram que empezó aquí. En el post anterior nos quedamos con este código: ¿y qué hace este código? Pues básicamente se conecta a la API de Telegram y con «getUpdates» se trae todos los mensajes que haya recibido el bot. Los mensajes los muestra con el foreach y … Leer más

Crear un bot de Telegram con Nutgram

Descubre trucos de PHP

Crear bots de Telegram es relativamente sencillo, pero usar un paquete como Nutgram lo hace aún más fácil. Como veo que cuesta un poco empezar con Nutgram voy a escribir una rápida guía para empezar. Crear un bot de Telegram Seguro que ni te imaginabas que éste era el primer paso. Pues eso, te buscas … Leer más

Alternativas a un array: SplFixedArray

Seguramente ya sabrás que un array «normal» de PHP ocupa una cantidad de memoria enorme. El problema está relacionado con eso de que PHP es un lenguaje de tipado débil. Vamos, que una variable acepta cualquier tipo de dato. Da igual que contenga un entero, que un float, string, array… da igual. Esta flexibilidad tiene … Leer más

La expresión match() en PHP

Igual no te habías enterado de la existencia de la expresión match() en PHP. Es algo que se añadió en la versión 8. Así a primera vista parece un switch: $valor = 2;$valorEnLetras = match($valor) { 1 => ‘Uno’, 2 => ‘Dos’};echo $valorEnLetras; Pero tiene algunas diferencias: match() retorna un valor La expresión match devuelve … Leer más

¿Qué es un interface en PHP?

Operadores en PHP

Cuando definimos una clase o un método que acepta parámetros queremos evitar que nos «cuelen» datos no válidos. Para esto tenemos los tipos de datos: int, string, array, bool, etc: public function metodo(int $numero) También podemos indicar que el parámetro sea un objeto de una clase concreta: public function metodo(UnaClase $unObjeto) Pero ¿y si queremos … Leer más

Problemas con Carbon::now() y los test unitarios

[Cuando trabajas con Carbon] las fechas y los test pueden ser un auténtico engorro. El problema suele ser cuando tienes una situación como ésta: $objeto = Clase(); $this->assertEquals(Carbon::now(), $objeto->fechaCreacion()); Y dentro del objeto tienes algo como: public function __constructor() { $this->fechaCreacion = Carbon::now(); } public function fechaCreacion() { return $this->fechaCreacion; } ¿Dónde esta el problema? … Leer más