diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7c7a90c..336a3cc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,12 +16,16 @@ jobs: matrix: # build and publish in parallel: linux/386, linux/amd64, windows/386, windows/amd64, darwin/amd64 goos: [linux, windows, darwin] - goarch: ["386", amd64, arm] + goarch: ["386", amd64, arm, arm64] exclude: - goos: darwin goarch: arm + - goos: darwin + goarch: arm64 - goos: darwin goarch: "386" + - goos: windows + goarch: arm64 fail-fast: true steps: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 93fc465..589d51a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,12 +10,16 @@ jobs: matrix: # build and publish in parallel: linux/386, linux/amd64, windows/386, windows/amd64, darwin/386, darwin/amd64 goos: [linux, windows, darwin] - goarch: ["386", amd64, arm] + goarch: ["386", amd64, arm, arm64] exclude: - goos: darwin goarch: arm + - goos: darwin + goarch: arm64 - goos: darwin goarch: "386" + - goos: windows + goarch: arm64 steps: - uses: actions/checkout@v2 @@ -30,4 +34,4 @@ jobs: goarch: ${{ matrix.goarch }} goversion: "https://golang.org/dl/go1.15.3.linux-amd64.tar.gz" ldflags: -w -s -X "github.com/Mrs4s/go-cqhttp/coolq.Version=${{ env.RELEASE_VERSION }}" - \ No newline at end of file + diff --git a/coolq/api.go b/coolq/api.go index 3421903..69dcc3f 100644 --- a/coolq/api.go +++ b/coolq/api.go @@ -303,7 +303,7 @@ func (bot *CQBot) CQSendGroupForwardMessage(groupId int64, m gjson.Result) MSG { var newElem []message.IMessageElement for _, elem := range content { if img, ok := elem.(*LocalImageElement); ok { - gm, err := bot.Client.UploadGroupImage(groupId, img.Stream) + gm, err := bot.UploadLocalImageAsGroup(groupId, img) if err != nil { log.Warnf("警告:群 %v 图片上传失败: %v", groupId, err) continue @@ -311,6 +311,15 @@ func (bot *CQBot) CQSendGroupForwardMessage(groupId int64, m gjson.Result) MSG { newElem = append(newElem, gm) continue } + if video, ok := elem.(*LocalVideoElement); ok { + gm, err := bot.UploadLocalVideo(groupId, video) + if err != nil { + log.Warnf("警告:群 %v 视频上传失败: %v", groupId, err) + continue + } + newElem = append(newElem, gm) + continue + } newElem = append(newElem, elem) } nodes = append(nodes, &message.ForwardNode{ diff --git a/coolq/cqcode.go b/coolq/cqcode.go index 7cd8c9b..171c92f 100644 --- a/coolq/cqcode.go +++ b/coolq/cqcode.go @@ -1039,7 +1039,7 @@ func (bot *CQBot) makeShowPic(elem message.IMessageElement, source string, icon var suf message.IMessageElement if i, ok := elem.(*LocalImageElement); ok { if group == false { - gm, err := bot.Client.UploadPrivateImage(1, i.Stream) + gm, err := bot.UploadLocalImageAsPrivate(1, i) if err != nil { log.Warnf("警告: 好友消息 %v 消息图片上传失败: %v", 1, err) return nil, err @@ -1047,7 +1047,7 @@ func (bot *CQBot) makeShowPic(elem message.IMessageElement, source string, icon suf = gm xml = fmt.Sprintf(``, "", gm.Md5, gm.Md5, len(i.Data), "", minWidth, minHeight, maxWidth, maxHeight, source, icon) } else { - gm, err := bot.Client.UploadGroupImage(1, i.Stream) + gm, err := bot.UploadLocalImageAsGroup(1, i) if err != nil { log.Warnf("警告: 群 %v 消息图片上传失败: %v", 1, err) return nil, err diff --git a/global/codec/codec.go b/global/codec/codec.go index 5f7d2d4..c6dcd1a 100644 --- a/global/codec/codec.go +++ b/global/codec/codec.go @@ -1,5 +1,5 @@ // +build linux windows darwin -// +build 386 amd64 arm +// +build 386 amd64 arm arm64 package codec diff --git a/global/codec/codec_unsupportedarch.go b/global/codec/codec_unsupportedarch.go new file mode 100644 index 0000000..f905017 --- /dev/null +++ b/global/codec/codec_unsupportedarch.go @@ -0,0 +1,13 @@ +// +build !386,!arm64,!amd64,!arm + +package codec + +import "errors" + +func Init() error { + return errors.New("Unsupport arch now") +} + +func EncodeToSilk(record []byte, tempName string, useCache bool) ([]byte, error) { + return nil, errors.New("Unsupport arch now") +} diff --git a/global/codec/codec2.go b/global/codec/codec_unsupportedos.go similarity index 78% rename from global/codec/codec2.go rename to global/codec/codec_unsupportedos.go index e50133e..89c415e 100644 --- a/global/codec/codec2.go +++ b/global/codec/codec_unsupportedos.go @@ -1,5 +1,4 @@ -// +build !linux,!windows,!darwin -// +build !386,!amd64,!arm +// +build !windows,!linux,!darwin package codec