set default POSTMOOGLE_USERS pattern

This commit is contained in:
Aine
2022-08-29 20:56:28 +03:00
parent 74e7fa5f3b
commit 0ba951fbe6
6 changed files with 43 additions and 52 deletions

View File

@@ -2,12 +2,21 @@ package bot
import (
"context"
"regexp"
"maunium.net/go/mautrix/id"
"gitlab.com/etke.cc/postmoogle/utils"
)
func parseMXIDpatterns(patterns []string, defaultPattern string) ([]*regexp.Regexp, error) {
if len(patterns) == 0 && defaultPattern != "" {
patterns = []string{defaultPattern}
}
return utils.WildcardMXIDsToRegexes(patterns)
}
func (b *Bot) allowAnyone(actorID id.UserID, targetRoomID id.RoomID) bool {
return true
}

View File

@@ -36,9 +36,23 @@ func New(
log *logger.Logger,
prefix string,
domain string,
allowedUsers []*regexp.Regexp,
allowedAdmins []*regexp.Regexp,
) *Bot {
users []string,
admins []string,
) (*Bot, error) {
_, homeserver, err := lp.GetClient().UserID.Parse()
if err != nil {
return nil, err
}
var allowedUsers []*regexp.Regexp
allowedUsers, uerr := parseMXIDpatterns(users, "@*:"+homeserver)
if uerr != nil {
return nil, uerr
}
allowedAdmins, aerr := parseMXIDpatterns(admins, "")
if aerr != nil {
return nil, aerr
}
b := &Bot{
prefix: prefix,
domain: domain,
@@ -50,10 +64,9 @@ func New(
lp: lp,
mu: map[id.RoomID]*sync.Mutex{},
}
b.commands = b.buildCommandList()
return b
return b, nil
}
// Error message to the log and matrix room