What is steampy?

Steampy: Tu Aliado para Automatizar Steam con Python

27/11/2011

Valoración: 4.2 (12460 votos)

En el vasto universo de Steam, donde millones de usuarios intercambian, compran y venden artículos digitales cada día, la automatización se ha convertido en una herramienta invaluable para desarrolladores, traders y entusiastas. Aquí es donde entra en juego Steampy, una potente y ligera librería para Python diseñada para interactuar con la plataforma de Steam de una manera programática y eficiente. A diferencia de otros servicios con nombres similares como SteamSpy, que se enfoca en la recolección de datos y estadísticas de ventas, Steampy es una herramienta de acción, un cliente que permite a tus scripts iniciar sesión, gestionar ofertas de intercambio, operar en el mercado y mucho más.

What games support Steam Spy?
Support Steam Spy! Touhou Kinjoukyou ~ Fossilized Wonders. おかゆにゅ~~む! ~Okayunyumu! Yield! Fall of Rome Laser Battle Cats - travel & destroy! Is This Seat Taken? Sensei! I Like You So Much! Unknot! Keep on Mining! Demigoddess! Chaos Beach: A Virgin Boy’s Pheromone-Fueled Summer of Lust! Bogos Binted? Pile Up! Drop It! Jelly Man

Inspirada en librerías populares del ecosistema de Node.js, Steampy consolida una multitud de funcionalidades en un único módulo de Python 3, facilitando la creación de bots de trading, sistemas de gestión de inventario, herramientas de análisis de precios en tiempo real y cualquier otra aplicación que requiera una interacción directa y automatizada con las funcionalidades de Steam. Si eres un desarrollador de Python con interés en el ecosistema de Steam, esta guía te abrirá las puertas a un mundo de posibilidades.

Índice de Contenido

¿Qué es Exactamente Steampy y Para Qué Sirve?

Steampy es, en esencia, un cliente de ofertas de intercambio de Steam para Python. Su principal objetivo es simplificar el proceso de automatización de tareas que un usuario normalmente realizaría manualmente a través del cliente de Steam o su navegador web. Esto incluye, pero no se limita a, la aceptación o rechazo de ofertas de intercambio, la creación de nuevas ofertas, la publicación de artículos en el Mercado de la Comunidad y la consulta de inventarios.

La gran ventaja de Steampy radica en su capacidad para manejar la autenticación de forma sencilla, utilizando tus credenciales de usuario y tu archivo de SteamGuard. Esto elimina la necesidad de procesos complejos como la extracción manual de cookies de sesión, permitiendo un inicio de sesión seguro y estable para tus aplicaciones. Desarrollado con Python 3 y aprovechando características modernas del lenguaje como los type hints, ofrece una experiencia de desarrollo limpia y es compatible con Windows, Linux y macOS.

Características Principales

  • Gestión de Sesión y Autenticación: Inicia sesión de forma segura utilizando tu nombre de usuario, contraseña y el archivo SteamGuard.
  • Manejo de Ofertas de Intercambio: Obtén, acepta, rechaza, cancela y crea ofertas de intercambio con otros usuarios.
  • Interacción con el Mercado: Crea órdenes de compra y venta, consulta precios históricos y actuales, y gestiona tus listados en el mercado.
  • Consulta de Inventarios: Revisa tu propio inventario o el de otros usuarios para cualquier juego compatible.
  • Funciones de SteamGuard: Genera códigos de autenticación de un solo uso y claves de confirmación para validar acciones importantes sin necesidad de un dispositivo móvil.
  • Utilidades de Chat: Envía y recibe mensajes de chat, ideal para notificaciones de bots.

Primeros Pasos: Instalación y Configuración Inicial

Empezar a usar Steampy es un proceso relativamente sencillo, pero requiere de algunos prerrequisitos esenciales para poder interactuar con la API de Steam.

What is steampy?
Steampy is a Python library, inspired by node-steam-tradeoffers, node-steam, and other libraries for Node.js.

Instalación

Al ser un paquete de Python, la instalación se realiza cómodamente a través de pip, el gestor de paquetes de Python.

pip install steampy

Requisitos Previos

  1. Clave de API de Steam (API Key): Necesitarás una clave de API para realizar muchas de las llamadas. Puedes obtener la tuya de forma gratuita desde la página de desarrolladores de Steam, asociándola a un dominio (puedes usar 'localhost' si es para desarrollo local).
  2. Archivo SteamGuard: Steampy necesita acceder a los secretos de tu autenticador móvil para iniciar sesión y confirmar acciones. El proceso implica obtener el archivo `Steamguard.txt` de tu dispositivo móvil, que contiene tu `shared_secret` y `identity_secret`. Existen herramientas comunitarias para extraer este archivo de dispositivos Android rooteados o mediante emulación.

Configuración y Login Básico

Una vez que tienes tu clave de API y tu archivo SteamGuard, puedes iniciar tu primer cliente. El siguiente código muestra cómo inicializar el cliente e iniciar sesión:

from steampy.client import SteamClient # Reemplaza con tus datos reales api_key = 'TU_CLAVE_DE_API' username = 'TU_USUARIO_DE_STEAM' password = 'TU_CONTRASEÑA' steamguard_path = 'ruta/a/tu/Steamguard.txt' # Inicializa el cliente y realiza el login steam_client = SteamClient(api_key) steam_client.login(username, password, steamguard_path) print('¡Inicio de sesión exitoso!') # A partir de aquí, puedes usar los métodos del cliente # No olvides cerrar sesión al terminar steam_client.logout()

Steampy también soporta el uso de contextos con la declaración `with`, que maneja automáticamente el inicio y cierre de sesión, haciendo tu código más limpio y seguro.

Funcionalidades Clave de la API de Steampy

La librería se organiza en torno al objeto `SteamClient`, que contiene métodos para casi todas las interacciones que puedas necesitar. A continuación, exploramos las más importantes.

Gestión de Ofertas de Intercambio (Trading)

El corazón de Steampy es su capacidad para gestionar el trading. Puedes automatizar completamente el proceso de intercambio de artículos.

  • get_trade_offers(): Recupera una lista de todas las ofertas de intercambio activas, tanto enviadas como recibidas.
  • make_offer(items_from_me, items_from_them, partner_steam_id): Crea y envía una oferta de intercambio a un amigo. Los artículos se especifican como objetos `Asset`.
  • make_offer_with_url(items_from_me, items_from_them, trade_offer_url): Similar al anterior, pero utiliza la URL de intercambio de un usuario, lo que permite comerciar con personas que no están en tu lista de amigos.
  • accept_trade_offer(trade_offer_id): Acepta una oferta de intercambio recibida. Esta acción se confirma automáticamente utilizando tu `identity_secret` del archivo SteamGuard.
  • decline_trade_offer(trade_offer_id): Rechaza una oferta de intercambio.

Interactuando con el Mercado de la Comunidad

Otra área poderosa de Steampy es la interacción con el mercado. Puedes crear bots que realicen "sniping" de precios, gestionen listados de venta o automaticen órdenes de compra.

What is SteamSpy & how does it work?
SteamSpy is a Steam stats-gathering service and crucially has data easily available through its own API (documentation here). It provides a number of useful metrics including an estimation for total owners of each game. We'll be retrieving data from both APIs and combining them to form our dataset.
  • market.fetch_price(item_hash_name, game): Obtiene el precio más bajo, el precio mediano y el volumen de un artículo específico en el mercado.
  • market.create_sell_order(assetid, game, money_to_receive): Pone a la venta un artículo de tu inventario. Es crucial recordar que `money_to_receive` debe especificarse en céntimos (ej: 1000 para $10.00).
  • market.create_buy_order(market_name, price_single_item, quantity, game): Crea una orden de compra para un artículo. Al igual que con la venta, el precio se especifica en céntimos.
  • market.cancel_sell_order(sell_listing_id): Cancela una de tus ofertas de venta activas.
  • market.cancel_buy_order(buy_order_id): Cancela una de tus órdenes de compra activas.

Tabla Comparativa: Steampy vs. Interacción Manual

CaracterísticaInteracción ManualCon Steampy
Aceptar una ofertaNavegar a la página, revisar, hacer clic en aceptar, confirmar en el móvil.Una sola llamada a la función accept_trade_offer(). Automático.
Vender 100 artículosProceso lento y repetitivo: seleccionar cada artículo, introducir precio, confirmar 100 veces.Un bucle que llama a create_sell_order(). Puede completarse en segundos.
Monitoreo de preciosActualizar manualmente la página del mercado constantemente.Script que llama a fetch_price() cada pocos segundos, 24/7.
EscalabilidadMuy limitada. Depende del tiempo y la atención del usuario.Altamente escalable. Un solo script puede gestionar miles de operaciones para múltiples cuentas.

Preguntas Frecuentes (FAQ)

¿Es Steampy lo mismo que SteamSpy?

No, y es una distinción muy importante. SteamSpy es un servicio de análisis de datos que estima las ventas y la cantidad de propietarios de los juegos en Steam. Es una herramienta de visualización de datos. Steampy, por otro lado, es una librería de programación (una API no oficial) para que los desarrolladores creen aplicaciones que interactúen y realicen acciones en la plataforma Steam, como el trading.

¿Es seguro usar Steampy con mi cuenta principal de Steam?

Steampy en sí es una herramienta de código abierto y no es maliciosa. Sin embargo, la automatización de acciones en tu cuenta siempre conlleva riesgos. El uso de bots puede ir en contra de los Términos de Servicio de Steam en ciertos contextos, y si tu script tiene fallos, podrías realizar acciones no deseadas (como vender un artículo valioso por un precio incorrecto). Se recomienda encarecidamente probar tus scripts en una cuenta secundaria antes de usarlos en tu cuenta principal.

¿Necesito ser un experto en programación para usar Steampy?

Necesitas tener un conocimiento básico-intermedio de Python. Debes entender cómo instalar paquetes, escribir scripts, manejar diccionarios y listas, y comprender los conceptos básicos de las llamadas a APIs. La documentación de Steampy es bastante clara, pero no es una herramienta para principiantes absolutos en la programación.

¿Qué tipo de proyectos puedo construir con Steampy?

Las posibilidades son enormes. Aquí tienes algunas ideas:

  • Bots de Trading: Aceptan automáticamente ofertas de intercambio basadas en reglas de precios que tú defines.
  • Gestores de Inventario: Organizan y catalogan tus artículos, o incluso los de varios amigos.
  • Herramientas de Arbitraje de Mercado: Scripts que buscan diferencias de precios entre el mercado de Steam y mercados de terceros para encontrar oportunidades de beneficio.
  • Sistemas de Donación Automatizados: Para streamers que quieren que los espectadores donen skins de juegos.
  • Bots de Venta Masiva: Para vender rápidamente grandes cantidades de artículos, como cajas o cromos de juegos.

¿Steampy es una herramienta oficial de Valve?

No. Steampy es un proyecto de terceros, creado por la comunidad. No está afiliado ni respaldado por Valve. Utiliza las mismas APIs web que utiliza el cliente oficial de Steam, pero su uso es bajo tu propia responsabilidad.

Si quieres conocer otros artículos parecidos a Steampy: Tu Aliado para Automatizar Steam con Python puedes visitar la categoría Juegos.

Subir