|
@@ -94,6 +94,13 @@ func (mx *MatrixHandler) joinAndCheckMembers(evt *event.Event, intent *appservic
|
|
|
return members
|
|
|
}
|
|
|
|
|
|
+func (mx *MatrixHandler) sendNoticeWithMarkdown(roomID id.RoomID, message string) (*mautrix.RespSendEvent, error) {
|
|
|
+ intent := mx.as.BotIntent()
|
|
|
+ content := format.RenderMarkdown(message, true, false)
|
|
|
+ content.MsgType = event.MsgNotice
|
|
|
+ return intent.SendMessageEvent(roomID, event.EventMessage, content)
|
|
|
+}
|
|
|
+
|
|
|
func (mx *MatrixHandler) HandleBotInvite(evt *event.Event) {
|
|
|
intent := mx.as.BotIntent()
|
|
|
|
|
@@ -128,11 +135,26 @@ func (mx *MatrixHandler) HandleBotInvite(evt *event.Event) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ _, _ = mx.sendNoticeWithMarkdown(evt.RoomID, mx.bridge.Config.Bridge.ManagementRoomText.Welcome)
|
|
|
+
|
|
|
if !hasPuppets && (len(user.ManagementRoom) == 0 || evt.Content.AsMember().IsDirect) {
|
|
|
user.SetManagementRoom(evt.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.")
|
|
|
mx.log.Debugln(evt.RoomID, "registered as a management room with", evt.Sender)
|
|
|
}
|
|
|
+
|
|
|
+ if evt.RoomID == user.ManagementRoom {
|
|
|
+ if user.HasSession() {
|
|
|
+ _, _ = mx.sendNoticeWithMarkdown(evt.RoomID, mx.bridge.Config.Bridge.ManagementRoomText.WelcomeConnected)
|
|
|
+ } else {
|
|
|
+ _, _ = mx.sendNoticeWithMarkdown(evt.RoomID, mx.bridge.Config.Bridge.ManagementRoomText.WelcomeUnconnected)
|
|
|
+ }
|
|
|
+
|
|
|
+ additionalHelp := mx.bridge.Config.Bridge.ManagementRoomText.AdditionalHelp
|
|
|
+ if len(additionalHelp) > 0 {
|
|
|
+ _, _ = mx.sendNoticeWithMarkdown(evt.RoomID, additionalHelp)
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
func (mx *MatrixHandler) handlePrivatePortal(roomID id.RoomID, inviter *User, puppet *Puppet, key database.PortalKey) {
|