github.com/diamondburned/arikawa/v2@v2.1.0/utils/wsutil/throttler.go (about) 1 package wsutil 2 3 import ( 4 "time" 5 6 "golang.org/x/time/rate" 7 ) 8 9 func NewSendLimiter() *rate.Limiter { 10 return rate.NewLimiter(rate.Every(time.Minute), 120) 11 } 12 13 func NewDialLimiter() *rate.Limiter { 14 return rate.NewLimiter(rate.Every(5*time.Second), 1) 15 } 16 17 func NewIdentityLimiter() *rate.Limiter { 18 return NewDialLimiter() // same 19 } 20 21 func NewGlobalIdentityLimiter() *rate.Limiter { 22 return rate.NewLimiter(rate.Every(24*time.Hour), 1000) 23 }