MCPcopy
hub / github.com/42wim/matterbridge / handleEvents

Method handleEvents

bridge/steam/handlers.go:35–84  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

33}
34
35func (b *Bsteam) handleEvents() {
36 myLoginInfo := &steam.LogOnDetails{
37 Username: b.GetString("Login"),
38 Password: b.GetString("Password"),
39 AuthCode: b.GetString("AuthCode"),
40 }
41 // TODO Attempt to read existing auth hash to avoid steam guard.
42 // Maybe works
43 //myLoginInfo.SentryFileHash, _ = ioutil.ReadFile("sentry")
44 for event := range b.c.Events() {
45 switch e := event.(type) {
46 case *steam.ChatMsgEvent:
47 b.handleChatMsg(e)
48 case *steam.PersonaStateEvent:
49 b.Log.Debugf("PersonaStateEvent: %#v\n", e)
50 b.Lock()
51 b.userMap[e.FriendId] = e.Name
52 b.Unlock()
53 case *steam.ConnectedEvent:
54 b.c.Auth.LogOn(myLoginInfo)
55 case *steam.MachineAuthUpdateEvent:
56 // TODO sentry files for 2 auth
57 /*
58 b.Log.Info("authupdate", e)
59 b.Log.Info("hash", e.Hash)
60 ioutil.WriteFile("sentry", e.Hash, 0666)
61 */
62 case *steam.LogOnFailedEvent:
63 b.Log.Info("Logon failed", e)
64 err := b.handleLogOnFailed(e, myLoginInfo)
65 if err != nil {
66 b.Log.Error(err)
67 return
68 }
69 case *steam.LoggedOnEvent:
70 b.Log.Debugf("LoggedOnEvent: %#v", e)
71 b.connected <- struct{}{}
72 b.Log.Debugf("setting online")
73 b.c.Social.SetPersonaState(steamlang.EPersonaState_Online)
74 case *steam.DisconnectedEvent:
75 b.Log.Info("Disconnected")
76 b.Log.Info("Attempting to reconnect...")
77 b.c.Connect()
78 case steam.FatalErrorEvent:
79 b.Log.Errorf("steam FatalErrorEvent: %#v", e)
80 default:
81 b.Log.Debugf("unknown event %#v", e)
82 }
83 }
84}
85
86func (b *Bsteam) handleLogOnFailed(e *steam.LogOnFailedEvent, myLoginInfo *steam.LogOnDetails) error {
87 switch e.Result {

Callers 1

ConnectMethod · 0.95

Calls 4

handleChatMsgMethod · 0.95
handleLogOnFailedMethod · 0.95
GetStringMethod · 0.65
ConnectMethod · 0.65

Tested by

no test coverage detected