Skip to content

Commit

Permalink
send edited msg
Browse files Browse the repository at this point in the history
  • Loading branch information
rnons committed Dec 25, 2024
1 parent 21c4f2d commit 9fac411
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 4 deletions.
1 change: 1 addition & 0 deletions pkg/connector/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ func (c *GChatClient) Disconnect() {
}

var dmCaps = &bridgev2.NetworkRoomCapabilities{
Edits: true,
Replies: true,
}

Expand Down
39 changes: 39 additions & 0 deletions pkg/connector/handlematrix.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import (
)

var (
_ bridgev2.EditHandlingNetworkAPI = (*GChatClient)(nil)
_ bridgev2.ReactionHandlingNetworkAPI = (*GChatClient)(nil)
)

Expand Down Expand Up @@ -144,6 +145,44 @@ func (c *GChatClient) HandleMatrixMessage(ctx context.Context, msg *bridgev2.Mat
}, nil
}

func (c *GChatClient) HandleMatrixEdit(ctx context.Context, msg *bridgev2.MatrixEdit) error {
groupId, err := portalToGroupId(msg.Portal)
if err != nil {
return err
}

text, entities := c.msgConv.ToGChat(ctx, msg.Content)
msgId := string(msg.EditTarget.ID)
threadId := string(msg.EditTarget.ThreadRoot)
topicId := msgId
if threadId != "" {
topicId = threadId
}
res, err := c.client.EditMessage(ctx, &proto.EditMessageRequest{
MessageId: &proto.MessageId{
ParentId: &proto.MessageParentId{
Parent: &proto.MessageParentId_TopicId{
TopicId: &proto.TopicId{
GroupId: groupId,
TopicId: topicId,
},
},
},
MessageId: msgId,
},
TextBody: text,
Annotations: entities,
MessageInfo: &proto.MessageInfo{
AcceptFormatAnnotations: true,
},
})
if err != nil {
return err
}
_ = res
return nil
}

func (c *GChatClient) PreHandleMatrixReaction(_ context.Context, msg *bridgev2.MatrixReaction) (bridgev2.MatrixReactionPreResponse, error) {
emoji := msg.Content.RelatesTo.Key
return bridgev2.MatrixReactionPreResponse{
Expand Down
12 changes: 8 additions & 4 deletions pkg/gchatmeow/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -135,15 +135,19 @@ func (c *Client) paginatedWorld(ctx context.Context) (*proto.PaginatedWorldRespo
func (c *Client) CreateTopic(ctx context.Context, request *proto.CreateTopicRequest) (*proto.CreateTopicResponse, error) {
request.RequestHeader = c.gcRequestHeader
response := &proto.CreateTopicResponse{}
err := c.gcRequest(ctx, "create_topic", request, response)
return response, err
return response, c.gcRequest(ctx, "create_topic", request, response)
}

func (c *Client) CreateMessage(ctx context.Context, request *proto.CreateMessageRequest) (*proto.CreateMessageResponse, error) {
request.RequestHeader = c.gcRequestHeader
response := &proto.CreateMessageResponse{}
err := c.gcRequest(ctx, "create_message", request, response)
return response, err
return response, c.gcRequest(ctx, "create_message", request, response)
}

func (c *Client) EditMessage(ctx context.Context, request *proto.EditMessageRequest) (*proto.EditMessageResponse, error) {
request.RequestHeader = c.gcRequestHeader
response := &proto.EditMessageResponse{}
return response, c.gcRequest(ctx, "edit_message", request, response)
}

func (c *Client) GetGroup(ctx context.Context, request *proto.GetGroupRequest) (*proto.GetGroupResponse, error) {
Expand Down

0 comments on commit 9fac411

Please sign in to comment.