diff --git a/main.go b/main.go index df303be..16e0dd9 100644 --- a/main.go +++ b/main.go @@ -152,8 +152,6 @@ func gatewaySteamXmppPresence() { stat := <-steam.ChanPresenceSteam gameName := <-steam.ChanPresence - SetSteamId[steamId] = struct{}{} - var status string var tpye string switch stat { @@ -178,6 +176,10 @@ func gatewaySteamXmppPresence() { tpye = xmpp.Type_available } + if _, ok := SetSteamId[steamId]; !ok { + xmpp.SendPresenceFrom(status, xmpp.Type_subscribe, steamId+"@"+xmpp.JidStr, gameName) + SetSteamId[steamId] = struct{}{} + } xmpp.SendPresenceFrom(status, tpye, steamId+"@"+xmpp.JidStr, gameName) } } diff --git a/xmpp/xmpp.go b/xmpp/xmpp.go index 2fd9416..40deefa 100644 --- a/xmpp/xmpp.go +++ b/xmpp/xmpp.go @@ -18,6 +18,7 @@ const ( Type_available = "" Type_unavailable = "unavailable" + Type_subscribe = "subscribe" ActionConnexion = "action_xmpp_connexion" ActionDeconnexion = "action_xmpp_deconnexion"