|
@@ -2,7 +2,10 @@ package consts
|
|
|
|
|
|
|
|
import (
|
|
import (
|
|
|
"encoding/json"
|
|
"encoding/json"
|
|
|
|
|
+ "log/slog"
|
|
|
"net/http"
|
|
"net/http"
|
|
|
|
|
+ "os"
|
|
|
|
|
+ "path/filepath"
|
|
|
|
|
|
|
|
"github.com/diamondburned/arikawa/v3/discord"
|
|
"github.com/diamondburned/arikawa/v3/discord"
|
|
|
"github.com/diamondburned/arikawa/v3/gateway"
|
|
"github.com/diamondburned/arikawa/v3/gateway"
|
|
@@ -75,3 +78,22 @@ func GetIdentifyProps() gateway.IdentifyProperties {
|
|
|
HasClientMods: false,
|
|
HasClientMods: false,
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+var cacheDir string
|
|
|
|
|
+
|
|
|
|
|
+func CacheDir() string {
|
|
|
|
|
+ return cacheDir
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+func init() {
|
|
|
|
|
+ userCacheDir, err := os.UserCacheDir()
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ userCacheDir = os.TempDir()
|
|
|
|
|
+ slog.Warn("failed to get user cache dir; falling back to temp dir", "err", err, "path", userCacheDir)
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ cacheDir = filepath.Join(userCacheDir, Name)
|
|
|
|
|
+ if err := os.MkdirAll(cacheDir, os.ModePerm); err != nil {
|
|
|
|
|
+ slog.Error("failed to create cache dir", "err", err, "path", cacheDir)
|
|
|
|
|
+ }
|
|
|
|
|
+}
|