-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathenv.go
77 lines (62 loc) · 1.76 KB
/
env.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package main
import (
"log"
"os"
"strconv"
"time"
)
var (
// Debug settings
VERBOSE bool = false
// Authorization settings
CHANNEL string
USERNAME string
CLIENT_ID string
CLIENT_SECRET string
ACCESS_TOKEN string
REFRESH_TOKEN string
TOKEN_TTL time.Duration = 3 * time.Hour
BROADCASTER_ID string
// Game settings
JOIN_DURATION int = 30
GAME_DURATION_MIN int = 30
GAME_DURATION_MAX int = 60
TIMEOUT_DURATION int = 30
REWARD_BASE int = 100
COOLDOWN_DURATION int = 120
)
func loadEnv() {
if verbose, err := strconv.ParseBool(os.Getenv("VERBOSE")); err == nil {
VERBOSE = verbose
}
if CHANNEL = os.Getenv("GOTATO_CHANNEL"); CHANNEL == "" {
log.Fatal("channel cannot be blank")
}
if USERNAME = os.Getenv("GOTATO_USERNAME"); USERNAME == "" {
log.Fatal("username cannot be blank")
}
if CLIENT_ID = os.Getenv("GOTATO_CLIENT_ID"); CLIENT_ID == "" {
log.Fatal("client ID cannot be blank")
}
if CLIENT_SECRET = os.Getenv("GOTATO_CLIENT_SECRET"); CLIENT_SECRET == "" {
log.Fatal("client secret cannot be blank")
}
if duration, err := strconv.Atoi(os.Getenv("GOTATO_JOIN_DURATION")); err == nil {
JOIN_DURATION = duration
}
if duration, err := strconv.Atoi(os.Getenv("GOTATO_GAME_DURATION_MIN")); err == nil {
GAME_DURATION_MIN = duration
}
if duration, err := strconv.Atoi(os.Getenv("GOTATO_GAME_DURATION_MAX")); err == nil {
GAME_DURATION_MAX = duration
}
if duration, err := strconv.Atoi(os.Getenv("GOTATO_TIMEOUT_DURATION")); err == nil {
TIMEOUT_DURATION = duration
}
if reward, err := strconv.Atoi(os.Getenv("GOTATO_REWARD_BASE")); err == nil {
REWARD_BASE = reward
}
if duration, err := strconv.Atoi(os.Getenv("GOTATO_COOLDOWN_DURATION")); err == nil {
COOLDOWN_DURATION = duration
}
}