mirror of
https://github.com/42wim/matterbridge
synced 2024-11-07 09:20:23 +00:00
54 lines
1.5 KiB
Go
54 lines
1.5 KiB
Go
|
/*
|
||
|
This package allows you to automate actions on Valve's Steam network. It is a Go port of SteamKit.
|
||
|
|
||
|
To login, you'll have to create a new Client first. Then connect to the Steam network
|
||
|
and wait for a ConnectedCallback. Then you may call the Login method in the Auth module
|
||
|
with your login information. This is covered in more detail in the method's documentation. After you've
|
||
|
received the LoggedOnEvent, you should set your persona state to online to receive friend lists etc.
|
||
|
|
||
|
Example code
|
||
|
|
||
|
You can also find a running example in the `gsbot` package.
|
||
|
|
||
|
package main
|
||
|
|
||
|
import (
|
||
|
"io/ioutil"
|
||
|
"log"
|
||
|
|
||
|
"github.com/Philipp15b/go-steam"
|
||
|
"github.com/Philipp15b/go-steam/protocol/steamlang"
|
||
|
)
|
||
|
|
||
|
func main() {
|
||
|
myLoginInfo := new(steam.LogOnDetails)
|
||
|
myLoginInfo.Username = "Your username"
|
||
|
myLoginInfo.Password = "Your password"
|
||
|
|
||
|
client := steam.NewClient()
|
||
|
client.Connect()
|
||
|
for event := range client.Events() {
|
||
|
switch e := event.(type) {
|
||
|
case *steam.ConnectedEvent:
|
||
|
client.Auth.LogOn(myLoginInfo)
|
||
|
case *steam.MachineAuthUpdateEvent:
|
||
|
ioutil.WriteFile("sentry", e.Hash, 0666)
|
||
|
case *steam.LoggedOnEvent:
|
||
|
client.Social.SetPersonaState(steamlang.EPersonaState_Online)
|
||
|
case steam.FatalErrorEvent:
|
||
|
log.Print(e)
|
||
|
case error:
|
||
|
log.Print(e)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
Events
|
||
|
|
||
|
go-steam emits events that can be read via Client.Events(). Although the channel has the type interface{},
|
||
|
only types from this package ending with "Event" and errors will be emitted.
|
||
|
|
||
|
*/
|
||
|
package steam
|