func (s SteamId) ToSteam3() string {
	accType := s.GetAccountType()
	accInstance := s.GetAccountInstance()

	accTypeChr, ok := accountTypeChars[accType]
	if !ok {
		accTypeChr = 'i'
	}

	if accType == steamlang.EAccountType_Chat {
		if accInstance.HasFlag(uint32(ChatInstanceFlagClan)) {
			accTypeChr = 'c'
		} else if accInstance.HasFlag(uint32(ChatInstanceFlagLobby)) {
			accTypeChr = 'L'
		}
	}

	var renderInstance bool
	switch accType {
	case steamlang.EAccountType_AnonGameServer:
		fallthrough
	case steamlang.EAccountType_Multiseat:
		renderInstance = true
		break
	case steamlang.EAccountType_Individual:
		renderInstance = uint32(accInstance) != DesktopInstance
	}

	if renderInstance {
		return fmt.Sprintf("[%s:%d:%d:%d]", string(accTypeChr), s.GetAccountUniverse(), s.GetAccountId(), accInstance)
	}

	return fmt.Sprintf("[%s:%d:%d]", string(accTypeChr), s.GetAccountUniverse(), s.GetAccountId())
}
// ToSteam3 converts to the steam3 ID representation.

ToSteam3 converts to the steam3 ID representation.
// ToSteam3 converts to the steam3 ID representation .
func (s SteamId) ToSteam3() string {
	accType := s.GetAccountType()
	accInstance := s.GetAccountInstance()
	accTypeChr, ok := accountTypeChars[accType]
	if !ok {
		accTypeChr = 'i'
	}
	if accType == steamlang.EAccountType_Chat {
		if accInstance.HasFlag(uint32(ChatInstanceFlagClan)) {
			accTypeChr = 'c'
		} else if accInstance.HasFlag(uint32(ChatInstanceFlagLobby)) {
			accTypeChr = 'L'
		}
	}
	var renderInstance bool
	switch accType {
	case steamlang.EAccountType_AnonGameServer:
		fallthrough
	case steamlang.EAccountType_Multiseat:
		renderInstance = true
		break
	case steamlang.EAccountType_Individual:
		renderInstance = uint32(accInstance) != DesktopInstance
	}
	if renderInstance {
		return fmt.Sprintf("[%s:%d:%d:%d]", string(accTypeChr), s.GetAccountUniverse(), s.GetAccountId(), accInstance)
	}
	return fmt.Sprintf("[%s:%d:%d]", string(accTypeChr), s.GetAccountUniverse(), s.GetAccountId())
}
func ( s SteamId ) ToSteam3 ( ) string { accType := s . GetAccountType ( ) accInstance := s . GetAccountInstance ( ) accTypeChr , ok := accountTypeChars [ accType ] if ! ok { accTypeChr = 'i' } if accType == steamlang . EAccountType_Chat { if accInstance . HasFlag ( uint32 ( ChatInstanceFlagClan ) ) { accTypeChr = 'c' } else if accInstance . HasFlag ( uint32 ( ChatInstanceFlagLobby ) ) { accTypeChr = 'L' } } var renderInstance bool switch accType { case steamlang . EAccountType_AnonGameServer : fallthrough case steamlang . EAccountType_Multiseat : renderInstance = true break case steamlang . EAccountType_Individual : renderInstance = uint32 ( accInstance ) != DesktopInstance } if renderInstance { return fmt . Sprintf ( " " , string ( accTypeChr ) , s . GetAccountUniverse ( ) , s . GetAccountId ( ) , accInstance ) } return fmt . Sprintf ( " " , string ( accTypeChr ) , s . GetAccountUniverse ( ) , s . GetAccountId ( ) ) }
ToSteam3 converts to the steam3 ID representation.
ToSteam3 converts to the steam3 ID representation .