DEV Community

William Rodriguez
William Rodriguez

Posted on

Eventos de chat tipados: La abstracción de dominio WMessage.

Deja de navegar por frágiles diccionarios anidados para extraer el remitente y texto de un mensaje. wconnect encapsula el caos del Bot API en un modelo de dominio WMessage predecible y limpio.

Así se implementa WMessage Domain Model en entornos reales con wconnect:

from wconnect import WMessage, Wtelegram

bot = Wtelegram()

@bot.on_message(value_type="text")
def process_message(msg: WMessage) -> None:
    # Clean, typed access to all event metadata
    print(f"Author: {msg.username} (ID: {msg.user_id})")
    print(f"Chat Context: {msg.chat_id} | Message ID: {msg.message_id}")
    print(f"Payload: {msg.text} | Type: {msg.value_type}")

bot.run_consumers(block=True)
Enter fullscreen mode Exit fullscreen mode

Por qué es clave:

  • Decoradores sin boilerplate (@bot.on_command, @bot.on_message, @bot.consumer).
  • Streaming de archivos binarios directo desde RAM usando WFile.
  • Poller daemon no bloqueante con run_consumers(block=False).

¡Visita el repositorio en GitHub!

Top comments (0)