users adjustments
This commit is contained in:
12
bot/bot.go
12
bot/bot.go
@@ -50,24 +50,14 @@ func New(
|
|||||||
lp: lp,
|
lp: lp,
|
||||||
mu: map[id.RoomID]*sync.Mutex{},
|
mu: map[id.RoomID]*sync.Mutex{},
|
||||||
}
|
}
|
||||||
err := b.migrateBotSettings(users)
|
err := b.initBotUsers(users)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
_, homeserver, err := lp.GetClient().UserID.Parse()
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
allowedUsers, uerr := parseMXIDpatterns(b.getBotSettings().Users(), "@*:"+homeserver)
|
|
||||||
if uerr != nil {
|
|
||||||
return nil, uerr
|
|
||||||
}
|
|
||||||
allowedAdmins, aerr := parseMXIDpatterns(admins, "")
|
allowedAdmins, aerr := parseMXIDpatterns(admins, "")
|
||||||
if aerr != nil {
|
if aerr != nil {
|
||||||
return nil, aerr
|
return nil, aerr
|
||||||
}
|
}
|
||||||
b.allowedUsers = allowedUsers
|
|
||||||
b.allowedAdmins = allowedAdmins
|
b.allowedAdmins = allowedAdmins
|
||||||
b.commands = b.buildCommandList()
|
b.commands = b.buildCommandList()
|
||||||
|
|
||||||
|
|||||||
@@ -109,8 +109,13 @@ func (b *Bot) runUsers(ctx context.Context, commandSlice []string) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_, homeserver, err := b.lp.GetClient().UserID.Parse()
|
||||||
|
if err != nil {
|
||||||
|
b.SendError(ctx, evt.RoomID, fmt.Sprintf("invalid userID: %v", err))
|
||||||
|
}
|
||||||
|
|
||||||
patterns := commandSlice[1:]
|
patterns := commandSlice[1:]
|
||||||
allowedUsers, err := parseMXIDpatterns(patterns, "")
|
allowedUsers, err := parseMXIDpatterns(patterns, "@*:"+homeserver)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.SendError(ctx, evt.RoomID, fmt.Sprintf("invalid patterns: %v", err))
|
b.SendError(ctx, evt.RoomID, fmt.Sprintf("invalid patterns: %v", err))
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -35,16 +35,29 @@ func (s botSettings) Users() []string {
|
|||||||
return []string{}
|
return []string{}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: remove after migration
|
func (b *Bot) initBotUsers(users []string) error {
|
||||||
func (b *Bot) migrateBotSettings(users []string) error {
|
_, homeserver, err := b.lp.GetClient().UserID.Parse()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
config := b.getBotSettings()
|
config := b.getBotSettings()
|
||||||
cfgUsers := config.Users()
|
oldUsers := config.Get(botOptionUsers)
|
||||||
if len(users) > 0 && len(cfgUsers) == 0 {
|
// TODO: remove after migration
|
||||||
_, err := parseMXIDpatterns(users, "")
|
if len(users) > 0 && oldUsers == "" {
|
||||||
|
_, err := parseMXIDpatterns(users, "@*:"+homeserver)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
config.Set(botOptionUsers, strings.Join(users, " "))
|
config.Set(botOptionUsers, strings.Join(users, " "))
|
||||||
|
}
|
||||||
|
|
||||||
|
allowedUsers, uerr := parseMXIDpatterns(config.Users(), "@*:"+homeserver)
|
||||||
|
if uerr != nil {
|
||||||
|
return uerr
|
||||||
|
}
|
||||||
|
b.allowedUsers = allowedUsers
|
||||||
|
|
||||||
|
if oldUsers != config.Get(botOptionUsers) {
|
||||||
return b.setBotSettings(config)
|
return b.setBotSettings(config)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user