steam.py
                                
                                 steam.py copied to clipboard
                                
                                    steam.py copied to clipboard
                            
                            
                            
                        An async python wrapper to interact with the Steam API and its CMs
steam.py
A modern, easy to use, and async ready package to interact with the Steam API. Heavily inspired by discord.py and borrowing functionality from ValvePython/steam.
Key Features
- Modern Pythonic API using async/awaitsyntax
- Command extension to aid with bot creation
- Easy to use with an object-oriented design
- Fully typed hinted for faster development
Installation
Python 3.7 or higher is required
To install the library just run either of the following commands:
# Linux/macOS
python3 -m pip install -U steamio
# Windows
py -m pip install -U steamio
Or for the development version.
# Linux/macOS
python3 -m pip install -U "steamio @ git+https://github.com/Gobot1234/steam.py@main"
# Windows
py -m pip install -U "steamio @ git+https://github.com/Gobot1234/steam.py@main"
Quick Example
import steam
class MyClient(steam.Client):
    async def on_ready(self) -> None:
        print("Logged in as", self.user)
    async def on_trade_receive(self, trade: steam.TradeOffer) -> None:
        await trade.partner.send("Thank you for your trade")
        print(f"Received trade: #{trade.id}")
        print("Trade partner is:", trade.partner)
        print("We would send:", len(trade.items_to_send), "items")
        print("We would receive:", len(trade.items_to_receive), "items")
        if trade.is_gift():
            print("Accepting the trade as it is a gift")
            await trade.accept()
client = MyClient()
client.run("username", "password")
Bot Example
from steam.ext import commands
bot = commands.Bot(command_prefix="!")
@bot.command
async def ping(ctx: commands.Context) -> None:
    await ctx.send("Pong!")
bot.run("username", "password")