Skip to content

Commit

Permalink
feat: add MoveGroupFile operation
Browse files Browse the repository at this point in the history
  • Loading branch information
pk5ls20 committed Aug 23, 2024
1 parent e815e52 commit aff0804
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 8 deletions.
13 changes: 13 additions & 0 deletions client/operation.go
Original file line number Diff line number Diff line change
Expand Up @@ -505,6 +505,19 @@ func (c *QQClient) RenameGroupFile(groupUin uint32, fileID string, parentFolder
return oidb2.ParseGroupFileRenameResp(resp)
}

// MoveGroupFile 移动群文件
func (c *QQClient) MoveGroupFile(groupUin uint32, fileID string, parentFolder string, targetFolderID string) error {
pkt, err := oidb2.BuildGroupFileMoveReq(groupUin, fileID, parentFolder, targetFolderID)
if err != nil {
return err
}
resp, err := c.sendOidbPacketAndWait(pkt)
if err != nil {
return err
}
return oidb2.ParseGroupFileMoveResp(resp)
}

// DeleteGroupFile 删除群文件
func (c *QQClient) DeleteGroupFile(groupUin uint32, fileID string) error {
pkt, err := oidb2.BuildGroupFileDeleteReq(groupUin, fileID)
Expand Down
30 changes: 30 additions & 0 deletions client/packets/oidb/GroupFileMove.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package oidb

import (
"errors"
"github.com/LagrangeDev/LagrangeGo/client/packets/pb/service/oidb"
)

func BuildGroupFileMoveReq(groupUin uint32, fileId string, parentFolder string, targetFolderID string) (*OidbPacket, error) {
body := &oidb.OidbSvcTrpcTcp0X6D6{
Move: &oidb.OidbSvcTrpcTcp0X6D6Move{
GroupUin: groupUin,
BusId: 102,
FileId: fileId,
ParentDirectory: parentFolder,
TargetDirectory: targetFolderID,
},
}
return BuildOidbPacket(0x6D6, 5, body, false, true)
}

func ParseGroupFileMoveResp(data []byte) error {
var resp oidb.OidbSvcTrpcTcp0X6D6Response
if _, err := ParseOidbPacket(data, &resp); err != nil {
return err
}
if resp.Move.RetCode != 0 {
return errors.New(resp.Move.ClientWording)
}
return nil
}
11 changes: 6 additions & 5 deletions client/packets/pb/service/oidb/OidbSvcTrpcTcp0x6D6.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 4 additions & 3 deletions client/packets/pb/service/oidb/OidbSvcTrpcTcp0x6D6.proto
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,9 @@ message OidbSvcTrpcTcp0x6D6Move {
message OidbSvcTrpcTcp0x6D6Response {
OidbSvcTrpcTcp0x6D6_0Response Upload = 1;
OidbSvcTrpcTcp0x6D6_2Response Download = 3;
OidbSvcTrpcTcp0x6D6_3_4Response Delete = 4;
OidbSvcTrpcTcp0x6D6_3_4Response Rename = 5;
OidbSvcTrpcTcp0x6D6_3_4_5Response Delete = 4;
OidbSvcTrpcTcp0x6D6_3_4_5Response Rename = 5;
OidbSvcTrpcTcp0x6D6_3_4_5Response Move = 6;
}

message OidbSvcTrpcTcp0x6D6_0Response {
Expand Down Expand Up @@ -94,7 +95,7 @@ message OidbSvcTrpcTcp0x6D6_2Response {
uint32 PreviewPort = 12;
}

message OidbSvcTrpcTcp0x6D6_3_4Response{
message OidbSvcTrpcTcp0x6D6_3_4_5Response{
int32 RetCode = 1;
string RetMsg = 2;
string ClientWording = 3;
Expand Down

0 comments on commit aff0804

Please sign in to comment.