Merge branch 'only-follow-invites-for-allowed' into 'main'

Only auto-join rooms when invited by allowed users

Closes #17

See merge request etke.cc/postmoogle!28
This commit is contained in:
Aine
2022-08-31 12:59:04 +00:00
3 changed files with 30 additions and 16 deletions

View File

@@ -5,9 +5,13 @@ import (
"maunium.net/go/mautrix"
"maunium.net/go/mautrix/event"
"gitlab.com/etke.cc/postmoogle/utils"
)
func (b *Bot) initSync() {
b.lp.SetJoinPermit(b.joinPermit)
b.lp.OnEventType(
event.StateMember,
func(_ mautrix.EventSource, evt *event.Event) {
@@ -26,6 +30,16 @@ func (b *Bot) initSync() {
})
}
// joinPermit is called by linkpearl when processing "invite" events and deciding if rooms should be auto-joined or not
func (b *Bot) joinPermit(evt *event.Event) bool {
if !utils.Match(evt.Sender.String(), b.allowedUsers) {
b.log.Debug("Rejecting room invitation from unallowed user: %s", evt.Sender)
return false
}
return true
}
func (b *Bot) onMembership(evt *event.Event) {
ctx := newContext(evt)