Documentation
¶
Index ¶
- Variables
- func ShardIDByGuild(guildID snowflake.Snowflake, shardCount int) int
- type Config
- type ConfigOpt
- func WithGatewayConfig(gatewayConfig gateway.Config) ConfigOpt
- func WithGatewayConfigOpts(opts ...gateway.ConfigOpt) ConfigOpt
- func WithGatewayCreateFunc(...) ConfigOpt
- func WithLogger(logger log.Logger) ConfigOpt
- func WithRateLimiter(rateLimiter srate2.Limiter) ConfigOpt
- func WithRateLimiterConfig(rateConfig srate2.Config) ConfigOpt
- func WithRateLimiterConfigOpt(opts ...srate2.ConfigOpt) ConfigOpt
- func WithShardCount(shardCount int) ConfigOpt
- func WithShards(shards ...int) ConfigOpt
- type IntSet
- type ShardManager
- type ShardsMap
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultConfig = Config{ CustomShards: false, GatewayCreateFunc: func(token string, url string, shardID int, shardCount int, eventHandlerFunc gateway.EventHandlerFunc, config *gateway.Config) gateway.Gateway { return gateway.New(token, url, shardID, shardCount, eventHandlerFunc, config) }, GatewayConfig: &gateway.DefaultConfig, RateLimiter: srate2.NewLimiter(&srate2.DefaultConfig), }
Functions ¶
Types ¶
type Config ¶
type Config struct {
Logger log.Logger
CustomShards bool
Shards *IntSet
ShardCount int
GatewayCreateFunc func(token string, url string, shardID int, shardCount int, eventHandlerFunc gateway.EventHandlerFunc, config *gateway.Config) gateway.Gateway
GatewayConfig *gateway.Config
RateLimiter srate2.Limiter
RateLimiterConfig *srate2.Config
}
type ConfigOpt ¶
type ConfigOpt func(config *Config)
func WithGatewayConfig ¶
func WithGatewayConfigOpts ¶
func WithGatewayCreateFunc ¶
func WithLogger ¶
func WithRateLimiter ¶
func WithRateLimiterConfig ¶
func WithShardCount ¶
func WithShards ¶
type ShardManager ¶
type ShardManager interface {
Logger() log.Logger
Config() Config
RateLimiter() srate.Limiter
Open(ctx context.Context) error
ReOpen(ctx context.Context) error
Close(ctx context.Context)
OpenShard(ctx context.Context, shardID int) error
ReOpenShard(ctx context.Context, shardID int) error
CloseShard(ctx context.Context, shardID int)
GetGuildShard(guildId snowflake.Snowflake) gateway.Gateway
Shard(shardID int) gateway.Gateway
Shards() *ShardsMap
}
func New ¶
func New(token string, gatewayURL string, eventHandlerFunc gateway.EventHandlerFunc, config *Config) ShardManager
type ShardsMap ¶
type ShardsMap struct {
// contains filtered or unexported fields
}
func NewShardsMap ¶
func NewShardsMap() *ShardsMap
Source Files
¶
Click to show internal directories.
Click to hide internal directories.