Expose TwitchClient to plugins

Signed-off-by: Knut Ahlers <knut@ahlers.me>
This commit is contained in:
Knut Ahlers 2021-09-10 17:57:04 +02:00
parent 0a8bf4db0d
commit 44673eadd2
Signed by: luzifer
GPG key ID: 0066F03ED215AD7D
2 changed files with 5 additions and 0 deletions

View file

@ -11,6 +11,7 @@ import (
"github.com/Luzifer/twitch-bot/internal/actors/timeout"
"github.com/Luzifer/twitch-bot/internal/actors/whisper"
"github.com/Luzifer/twitch-bot/plugins"
"github.com/Luzifer/twitch-bot/twitch"
"github.com/pkg/errors"
log "github.com/sirupsen/logrus"
)
@ -59,6 +60,7 @@ func getRegistrationArguments() plugins.RegistrationArguments {
return plugins.RegistrationArguments{
FormatMessage: formatMessage,
GetLogger: func(moduleName string) *log.Entry { return log.WithField("module", moduleName) },
GetTwitchClient: func() *twitch.Client { return twitchClient },
RegisterActor: registerAction,
RegisterAPIRoute: registerRoute,
RegisterCron: cronService.AddFunc,

View file

@ -1,6 +1,7 @@
package plugins
import (
"github.com/Luzifer/twitch-bot/twitch"
"github.com/go-irc/irc"
"github.com/robfig/cron/v3"
log "github.com/sirupsen/logrus"
@ -40,6 +41,8 @@ type (
FormatMessage MsgFormatter
// GetLogger returns a sirupsen log.Entry pre-configured with the module name
GetLogger LoggerCreationFunc
// GetTwitchClient retrieves a fully configured Twitch client with initialized cache
GetTwitchClient func() *twitch.Client
// RegisterActor is used to register a new IRC rule-actor implementing the Actor interface
RegisterActor ActorRegistrationFunc
// RegisterAPIRoute registers a new HTTP handler function including documentation