Categorygithub.com/jleagle/go-steam
modulepackage
1.0.0
Repository: https://github.com/jleagle/go-steam.git
Documentation: pkg.go.dev

# README

Steam for Go

This library implements Steam's protocol to allow automation of different actions on Steam without running an actual Steam client. It is based on SteamKit2, a .NET library.

In addition, it contains APIs to Steam Community features, like trade offers and inventories.

Some of the currently implemented features:

  • Trading and trade offers, including inventories and notifications
  • Friend and group management
  • Chatting with friends
  • Persona states (online, offline, looking to trade, etc.)
  • SteamGuard
  • Team Fortress 2: Crafting, moving, naming and deleting items

If this is useful to you, there's also the go-steamapi package that wraps some of the official Steam Web API's types.

Installation

go get github.com/Philipp15b/go-steam

Usage

You can view the documentation with the godoc tool or online on godoc.org.

You should also take a look at the following sub-packages:

Updating go-steam to a new SteamKit version

To update go-steam to a new version of SteamKit, do the following:

go get github.com/golang/protobuf/protoc-gen-go/
git submodule init && git submodule update
cd generator
go run generator.go clean proto steamlang

Make sure that $GOPATH/bin / protoc-gen-go is in your $PATH. You'll also need protoc, the protocol buffer compiler. At the moment, we use Protocol Buffers 2.6.1 with proco-gen-go-2402d76.

To compile the Steam Language files, you also need the .NET Framework on Windows or mono on other operating systems.

Apply the protocol changes where necessary.

License

Steam for Go is licensed under the New BSD License. More information can be found in LICENSE.txt.

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
This program generates the protobuf and SteamLanguage files from the SteamKit data.
The GsBot package contains some useful utilites for working with the steam package.
Includes helper types for working with JSON data.
No description provided by the author
This package includes some basics for the Steam protocol.
Utilities for reading and writing of binary data.
No description provided by the author
No description provided by the author
Provides access to TF2 Game Coordinator functionality.
Allows automation of Steam Trading.
Implements methods to interact with the official Trade Offer API.

# Functions

No description provided by the author
GetRandomCM returns back a random server anywhere.
GetRandomEuropeCM returns back a random server in europe.
GetRandomNorthAmericaCM returns back a random server in north america.
GetRandomSingaporeCM returns back a random server in singapore.
Load initial server list from Steam Directory Web API.
No description provided by the author

# Constants

No description provided by the author

# Variables

CMServers contains a list of worlwide servers.

# Structs

No description provided by the author
No description provided by the author
Fired when a chat action has completed.
Fired in response to joining a chat.
Fired when a chat invite is received.
Fired in response to a chat member's info being received.
Fired when the client receives a message from either a friend or a chat room.
No description provided by the author
Fired when a clan's state has been changed.
Represents a client to the Steam network.
A list of connection manager addresses to connect to in the future.
No description provided by the author
No description provided by the author
Fired in response to adding a friend to your friends list.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Fired in response to ignoring a friend.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
This event is emitted for every CMsgClientUserNotifications message and likewise only used for trade offers.
No description provided by the author
Fired when someone changing their friend details.
Fired in response to requesting profile info for a user.
Provides access to social aspects of Steam.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Provides access to the Steam client's part of Steam Trading, that is bootstrapping the trade.
No description provided by the author
No description provided by the author
No description provided by the author

# Interfaces

No description provided by the author
No description provided by the author

# Type aliases

When this event is emitted by the Client, the connection is automatically closed.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author