supplement to the last commit
This commit is contained in:
parent
501dc54178
commit
4b0e58bfad
39
matrix.go
39
matrix.go
|
@ -95,34 +95,20 @@ func (mx *MatrixHandler) HandleBotInvite(evt *event.Event) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
resp, err := intent.JoinRoomByID(evt.RoomID)
|
members := mx.joinAndCheckMembers(evt, intent)
|
||||||
if err != nil {
|
if members == nil {
|
||||||
mx.log.Debugln("Failed to join room", evt.RoomID, "with invite from", evt.Sender)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
members, err := intent.JoinedMembers(resp.RoomID)
|
|
||||||
if err != nil {
|
|
||||||
mx.log.Debugln("Failed to get members in room", resp.RoomID, "after accepting invite from", evt.Sender)
|
|
||||||
intent.LeaveRoom(resp.RoomID)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(members.Joined) < 2 {
|
|
||||||
mx.log.Debugln("Leaving empty room", resp.RoomID, "after accepting invite from", evt.Sender)
|
|
||||||
intent.LeaveRoom(resp.RoomID)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if !user.Whitelisted {
|
if !user.Whitelisted {
|
||||||
intent.SendNotice(resp.RoomID, "You are not whitelisted to use this bridge.\n"+
|
_, _ = intent.SendNotice(evt.RoomID, "You are not whitelisted to use this bridge.\n"+
|
||||||
"If you're the owner of this bridge, see the bridge.permissions section in your config file.")
|
"If you're the owner of this bridge, see the bridge.permissions section in your config file.")
|
||||||
intent.LeaveRoom(resp.RoomID)
|
_, _ = intent.LeaveRoom(evt.RoomID)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if evt.RoomID == mx.bridge.Config.Bridge.Relaybot.ManagementRoom {
|
if evt.RoomID == mx.bridge.Config.Bridge.Relaybot.ManagementRoom {
|
||||||
intent.SendNotice(evt.RoomID, "This is the relaybot management room. Send `!wa help` to get a list of commands.")
|
_, _ = intent.SendNotice(evt.RoomID, "This is the relaybot management room. Send `!wa help` to get a list of commands.")
|
||||||
mx.log.Debugln("Joined relaybot management room", evt.RoomID, "after invite from", evt.Sender)
|
mx.log.Debugln("Joined relaybot management room", evt.RoomID, "after invite from", evt.Sender)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -135,17 +121,16 @@ func (mx *MatrixHandler) HandleBotInvite(evt *event.Event) {
|
||||||
hasPuppets = true
|
hasPuppets = true
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
mx.log.Debugln("Leaving multi-user room", resp.RoomID, "after accepting invite from", evt.Sender)
|
mx.log.Debugln("Leaving multi-user room", evt.RoomID, "after accepting invite from", evt.Sender)
|
||||||
intent.SendNotice(resp.RoomID, "This bridge is user-specific, please don't invite me into rooms with other users.")
|
_, _ = intent.SendNotice(evt.RoomID, "This bridge is user-specific, please don't invite me into rooms with other users.")
|
||||||
intent.LeaveRoom(resp.RoomID)
|
_, _ = intent.LeaveRoom(evt.RoomID)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if !hasPuppets {
|
if !hasPuppets && (len(user.ManagementRoom) == 0 || evt.Content.AsMember().IsDirect) {
|
||||||
user := mx.bridge.GetUserByMXID(evt.Sender)
|
user.SetManagementRoom(evt.RoomID)
|
||||||
user.SetManagementRoom(resp.RoomID)
|
_, _ = intent.SendNotice(user.ManagementRoom, "This room has been registered as your bridge management/status room. Send `help` to get a list of commands.")
|
||||||
intent.SendNotice(user.ManagementRoom, "This room has been registered as your bridge management/status room. Send `help` to get a list of commands.")
|
mx.log.Debugln(evt.RoomID, "registered as a management room with", evt.Sender)
|
||||||
mx.log.Debugln(resp.RoomID, "registered as a management room with", evt.Sender)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue