better
This commit is contained in:
parent
64ed2c1474
commit
f4499a6384
23
matrix.go
23
matrix.go
|
@ -5,6 +5,7 @@ import (
|
||||||
skype "github.com/kelaresg/go-skypeapi"
|
skype "github.com/kelaresg/go-skypeapi"
|
||||||
"github.com/kelaresg/matrix-skype/database"
|
"github.com/kelaresg/matrix-skype/database"
|
||||||
"maunium.net/go/mautrix"
|
"maunium.net/go/mautrix"
|
||||||
|
"maunium.net/go/mautrix/patch"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
@ -210,7 +211,15 @@ func (mx *MatrixHandler) HandlePuppetInvite(evt *event.Event, inviter *User, pup
|
||||||
}
|
}
|
||||||
var hasBridgeBot, hasOtherUsers bool
|
var hasBridgeBot, hasOtherUsers bool
|
||||||
for mxid, _ := range members.Joined {
|
for mxid, _ := range members.Joined {
|
||||||
if mxid == intent.UserID || mxid == inviter.MXID {
|
fmt.Println()
|
||||||
|
fmt.Println()
|
||||||
|
fmt.Println("HandlePuppetInvite mxid", mxid)
|
||||||
|
fmt.Println("HandlePuppetInvite intent.UserID", intent.UserID)
|
||||||
|
fmt.Println("HandlePuppetInvite patch.Parse(intent.UserID)", id.UserID(patch.Parse(string(intent.UserID))))
|
||||||
|
fmt.Println("HandlePuppetInvite inviter.MXID", inviter.MXID)
|
||||||
|
fmt.Println()
|
||||||
|
fmt.Println()
|
||||||
|
if mxid == id.UserID(patch.Parse(string(intent.UserID))) || mxid == inviter.MXID {
|
||||||
continue
|
continue
|
||||||
} else if mxid == mx.bridge.Bot.UserID {
|
} else if mxid == mx.bridge.Bot.UserID {
|
||||||
hasBridgeBot = true
|
hasBridgeBot = true
|
||||||
|
@ -223,7 +232,7 @@ func (mx *MatrixHandler) HandlePuppetInvite(evt *event.Event, inviter *User, pup
|
||||||
mx.handlePrivatePortal(evt.RoomID, inviter, puppet, key)
|
mx.handlePrivatePortal(evt.RoomID, inviter, puppet, key)
|
||||||
} else if !hasBridgeBot {
|
} else if !hasBridgeBot {
|
||||||
mx.log.Debugln("Leaving multi-user room", evt.RoomID, "as", puppet.MXID, "after accepting invite from", evt.Sender)
|
mx.log.Debugln("Leaving multi-user room", evt.RoomID, "as", puppet.MXID, "after accepting invite from", evt.Sender)
|
||||||
_, _ = intent.SendNotice(evt.RoomID, "Please invite the bridge bot first if you want to bridge to a WhatsApp group.")
|
_, _ = intent.SendNotice(evt.RoomID, "Please invite the bridge bot first if you want to bridge to a skype group.")
|
||||||
_, _ = intent.LeaveRoom(evt.RoomID)
|
_, _ = intent.LeaveRoom(evt.RoomID)
|
||||||
} else {
|
} else {
|
||||||
_, _ = intent.SendNotice(evt.RoomID, "This puppet will remain inactive until this room is bridged to a Skype group.")
|
_, _ = intent.SendNotice(evt.RoomID, "This puppet will remain inactive until this room is bridged to a Skype group.")
|
||||||
|
@ -231,6 +240,8 @@ func (mx *MatrixHandler) HandlePuppetInvite(evt *event.Event, inviter *User, pup
|
||||||
}
|
}
|
||||||
|
|
||||||
func (mx *MatrixHandler) HandleMembership(evt *event.Event) {
|
func (mx *MatrixHandler) HandleMembership(evt *event.Event) {
|
||||||
|
fmt.Println("HandleMembership0 evt.Sender:", evt.Sender)
|
||||||
|
fmt.Println("HandleMembership0 evt.GetStateKey:", evt.GetStateKey())
|
||||||
if _, isPuppet := mx.bridge.ParsePuppetMXID(evt.Sender); evt.Sender == mx.bridge.Bot.UserID || isPuppet {
|
if _, isPuppet := mx.bridge.ParsePuppetMXID(evt.Sender); evt.Sender == mx.bridge.Bot.UserID || isPuppet {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -274,6 +285,14 @@ func (mx *MatrixHandler) HandleMembership(evt *event.Event) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
fmt.Println()
|
||||||
|
fmt.Println()
|
||||||
|
fmt.Println("HandleMembership evt.RoomID", evt.RoomID)
|
||||||
|
fmt.Println("HandleMembership id.UserID(evt.GetStateKey())", id.UserID(evt.GetStateKey()))
|
||||||
|
fmt.Println("HandleMembership event.MembershipLeave", event.MembershipLeave)
|
||||||
|
fmt.Println("HandleMembership user.", event.MembershipLeave)
|
||||||
|
fmt.Println()
|
||||||
|
//mx.as.StateStore.SetMembership(evt.RoomID, id.UserID(evt.GetStateKey()), event.MembershipLeave)
|
||||||
portal.HandleMatrixKick(user, evt)
|
portal.HandleMatrixKick(user, evt)
|
||||||
}
|
}
|
||||||
} else if content.Membership == event.MembershipInvite && !isSelf {
|
} else if content.Membership == event.MembershipInvite && !isSelf {
|
||||||
|
|
|
@ -1486,13 +1486,12 @@ func (portal *Portal) HandleLocationMessageSkype(source *User, message skype.Res
|
||||||
geo := fmt.Sprintf("geo:%.6f,%.6f", float32(latitude)/1000000, float32(longitude)/1000000)
|
geo := fmt.Sprintf("geo:%.6f,%.6f", float32(latitude)/1000000, float32(longitude)/1000000)
|
||||||
content := &event.MessageEventContent{
|
content := &event.MessageEventContent{
|
||||||
MsgType: event.MsgText,
|
MsgType: event.MsgText,
|
||||||
Body: fmt.Sprintf("Location: <a href='%s'>%s</a>%s<br>", locationMessage.A.Href, locationMessage.Address, geo),
|
Body: fmt.Sprintf("Location: <a href='%s'>%s</a>%s<br>\n", locationMessage.A.Href, locationMessage.Address, geo),
|
||||||
Format: event.FormatHTML,
|
Format: event.FormatHTML,
|
||||||
FormattedBody: fmt.Sprintf("Location: <a href='%s'>%s</a>%s<br>", locationMessage.A.Href, locationMessage.Address, geo),
|
FormattedBody: fmt.Sprintf("Location: <a href='%s'>%s</a>%s<br>\n", locationMessage.A.Href, locationMessage.Address, geo),
|
||||||
GeoURI: geo,
|
GeoURI: geo,
|
||||||
}
|
}
|
||||||
|
|
||||||
//portal.SetReply(content, message.ContextInfo)
|
|
||||||
portal.SetReplySkype(content, message)
|
portal.SetReplySkype(content, message)
|
||||||
|
|
||||||
_, _ = intent.UserTyping(portal.MXID, false, 0)
|
_, _ = intent.UserTyping(portal.MXID, false, 0)
|
||||||
|
|
Loading…
Reference in New Issue