config

package
v0.0.0-...-4f983b9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 18, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ActionCfg

type ActionCfg struct {
	Name       string         `yaml:"name"`
	ActionName string         `yaml:"action_name"`
	Arguments  map[string]any `yaml:"arguments"`
}

type Config

type Config struct {
	TelegramToken          string   `yaml:"telegram_token"`
	AllowedChatIDs         []int64  `yaml:"allowed_chat_ids"`
	AdminIDs               []int64  `yaml:"admin_ids"`
	AdminUsernames         []string `yaml:"admin_usernames"`
	DatabaseStateDirectory string   `yaml:"database_state_directory"`
	// Order matters
	StatefulFilters []StatefulFilterConfig `yaml:"stateful_filters"`
	BannedDBConfig  map[string]any         `yaml:"banned_db_config"`

	LogLevel zapcore.Level `yaml:"log_level"`
}

func DefaultConfig

func DefaultConfig() *Config

func Load

func Load(file string) (*Config, error)

func SampleConfig

func SampleConfig() *Config

func (*Config) FillDefaults

func (c *Config) FillDefaults() error

func (*Config) Validate

func (c *Config) Validate() error

type StatefulFilterConfig

type StatefulFilterConfig struct {
	Name       string         `yaml:"name"`
	FilterName string         `yaml:"filter_name"`
	Arguments  map[string]any `yaml:"arguments"`
	// Order matters
	StatelessFilters []StatelessFilteringRules `yaml:"stateless_filtering_rules"`
	Actions          []ActionCfg               `yaml:"actions"`
}

type StatelessFilteringRules

type StatelessFilteringRules struct {
	Name       string         `yaml:"name"`
	FilterName string         `yaml:"filter_name"`
	Arguments  map[string]any `yaml:"arguments"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL