func NewTokenManager(keys []string) *Tokens {
	pool := []Token{}
	for _, key := range keys {
		t := Token{Hash: key, ExceededTime: time.Time{}, RetryAfter: 0}
		pool = append(pool, t)
	}
	return &Tokens{
		current: 0,
		pool:    pool,
	}
}
NewTokenManager initialize the tokens pool
package github
import "time"
type Token struct {
	Hash         string
	RetryAfter   int64
	ExceededTime time.Time
}
type Tokens struct {
	current int
	pool    []Token
}