matcher

package module
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: Feb 22, 2024 License: MIT Imports: 7 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LoadMatcherConfig

func LoadMatcherConfig(identifier string, cfg interface{})

Types

type Config

type Config struct {
	// contains filtered or unexported fields
}

type HelpStruct

type HelpStruct struct {
	Command     string
	Description string
	Usage       string
	Example     string
}

type Interface

type Interface interface {
	IsEnabled() bool
	Identifier() string
	Help() []HelpStruct
	DoesMatch(messageIn telegramclient.WebhookMessageStruct) bool
	CommandMatch(messageIn telegramclient.WebhookMessageStruct) []string
	InlineMatches(messageIn telegramclient.WebhookMessageStruct) []string
	Process(messageIn telegramclient.WebhookMessageStruct) ([]telegramclient.MessageStruct, error)
	HandleError(messageIn telegramclient.WebhookMessageStruct, identifier string, err error)
}

type Matcher

type Matcher struct {
	// contains filtered or unexported fields
}

func MakeMatcher

func MakeMatcher(
	identifier string,
	pattern *regexp.Regexp,
	help []HelpStruct,
) Matcher

func (Matcher) CommandMatch

func (m Matcher) CommandMatch(messageIn telegramclient.WebhookMessageStruct) []string

func (Matcher) DoesMatch

func (m Matcher) DoesMatch(messageIn telegramclient.WebhookMessageStruct) bool

func (Matcher) HandleError

func (m Matcher) HandleError(_ telegramclient.WebhookMessageStruct, identifier string, err error)

func (Matcher) Help

func (m Matcher) Help() []HelpStruct

func (Matcher) Identifier

func (m Matcher) Identifier() string

func (Matcher) InlineMatches

func (m Matcher) InlineMatches(messageIn telegramclient.WebhookMessageStruct) []string

func (Matcher) IsEnabled

func (m Matcher) IsEnabled() bool

func (Matcher) WithConfig

func (m Matcher) WithConfig(cfg *Config) Matcher

type Registry

type Registry struct {
	// contains filtered or unexported fields
}

func NewRegistry

func NewRegistry(
	logger logger.Interface,
	telegram telegramclient.ClientInterface,
) *Registry

func (*Registry) Process

func (r *Registry) Process(messageIn telegramclient.WebhookMessageStruct)

func (*Registry) Register

func (r *Registry) Register(matcher Interface)

Jump to

Keyboard shortcuts

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