mirror of
https://github.com/Mrs4s/go-cqhttp.git
synced 2025-05-06 03:53:50 +08:00
Merge branch 'dev'
This commit is contained in:
commit
c1a36caa99
6
.github/workflows/ci.yml
vendored
6
.github/workflows/ci.yml
vendored
@ -14,14 +14,12 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
# build and publish in parallel: linux/386, linux/amd64, windows/386, windows/amd64, darwin/amd64
|
# build and publish in parallel: linux/386, linux/amd64, windows/386, windows/amd64, darwin/amd64, darwin/arm64
|
||||||
goos: [linux, windows, darwin]
|
goos: [linux, windows, darwin]
|
||||||
goarch: ["386", amd64, arm, arm64]
|
goarch: ["386", amd64, arm, arm64]
|
||||||
exclude:
|
exclude:
|
||||||
- goos: darwin
|
- goos: darwin
|
||||||
goarch: arm
|
goarch: arm
|
||||||
- goos: darwin
|
|
||||||
goarch: arm64
|
|
||||||
- goos: darwin
|
- goos: darwin
|
||||||
goarch: "386"
|
goarch: "386"
|
||||||
- goos: windows
|
- goos: windows
|
||||||
@ -32,7 +30,7 @@ jobs:
|
|||||||
- name: Setup Go environment
|
- name: Setup Go environment
|
||||||
uses: actions/setup-go@v2.1.3
|
uses: actions/setup-go@v2.1.3
|
||||||
with:
|
with:
|
||||||
go-version: 1.15
|
go-version: 1.16
|
||||||
- name: Build binary file
|
- name: Build binary file
|
||||||
env:
|
env:
|
||||||
GOOS: ${{ matrix.goos }}
|
GOOS: ${{ matrix.goos }}
|
||||||
|
6
.github/workflows/release.yml
vendored
6
.github/workflows/release.yml
vendored
@ -8,14 +8,12 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
# build and publish in parallel: linux/386, linux/amd64, windows/386, windows/amd64, darwin/386, darwin/amd64
|
# build and publish in parallel: linux/386, linux/amd64, windows/386, windows/amd64, darwin/386, darwin/amd64, darwin/arm64
|
||||||
goos: [linux, windows, darwin]
|
goos: [linux, windows, darwin]
|
||||||
goarch: ["386", amd64, arm, arm64]
|
goarch: ["386", amd64, arm, arm64]
|
||||||
exclude:
|
exclude:
|
||||||
- goos: darwin
|
- goos: darwin
|
||||||
goarch: arm
|
goarch: arm
|
||||||
- goos: darwin
|
|
||||||
goarch: arm64
|
|
||||||
- goos: darwin
|
- goos: darwin
|
||||||
goarch: "386"
|
goarch: "386"
|
||||||
- goos: windows
|
- goos: windows
|
||||||
@ -32,6 +30,6 @@ jobs:
|
|||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
goos: ${{ matrix.goos }}
|
goos: ${{ matrix.goos }}
|
||||||
goarch: ${{ matrix.goarch }}
|
goarch: ${{ matrix.goarch }}
|
||||||
goversion: "https://golang.org/dl/go1.15.3.linux-amd64.tar.gz"
|
goversion: "https://golang.org/dl/go1.16.linux-amd64.tar.gz"
|
||||||
ldflags: -w -s -X "github.com/Mrs4s/go-cqhttp/coolq.Version=${{ env.RELEASE_VERSION }}"
|
ldflags: -w -s -X "github.com/Mrs4s/go-cqhttp/coolq.Version=${{ env.RELEASE_VERSION }}"
|
||||||
|
|
||||||
|
@ -1252,6 +1252,10 @@ func (bot *CQBot) CQCheckURLSafely(url string) MSG {
|
|||||||
func (bot *CQBot) CQGetVersionInfo() MSG {
|
func (bot *CQBot) CQGetVersionInfo() MSG {
|
||||||
wd, _ := os.Getwd()
|
wd, _ := os.Getwd()
|
||||||
return OK(MSG{
|
return OK(MSG{
|
||||||
|
"app_name": "go-cqhttp",
|
||||||
|
"app_version": Version,
|
||||||
|
"app_full_name": fmt.Sprintf("go-cqhttp-%s_%s_%s-%s", Version, runtime.GOOS, runtime.GOARCH, runtime.Version()),
|
||||||
|
"protocol_version": "v11",
|
||||||
"coolq_directory": wd,
|
"coolq_directory": wd,
|
||||||
"coolq_edition": "pro",
|
"coolq_edition": "pro",
|
||||||
"go-cqhttp": true,
|
"go-cqhttp": true,
|
||||||
|
16
coolq/bot.go
16
coolq/bot.go
@ -420,7 +420,21 @@ func (bot *CQBot) formatGroupMessage(m *message.GroupMessage) MSG {
|
|||||||
gm["sender"].(MSG)["nickname"] = "匿名消息"
|
gm["sender"].(MSG)["nickname"] = "匿名消息"
|
||||||
gm["sub_type"] = "anonymous"
|
gm["sub_type"] = "anonymous"
|
||||||
} else {
|
} else {
|
||||||
mem := bot.Client.FindGroup(m.GroupCode).FindMember(m.Sender.Uin)
|
group := bot.Client.FindGroup(m.GroupCode)
|
||||||
|
mem := group.FindMember(m.Sender.Uin)
|
||||||
|
if mem == nil{
|
||||||
|
log.Warnf("获取 %v 成员信息失败,尝试刷新成员列表", m.Sender.Uin)
|
||||||
|
t, err := bot.Client.GetGroupMembers(group)
|
||||||
|
if err != nil {
|
||||||
|
log.Warnf("刷新群 %v 成员列表失败: %v", group.Uin, err)
|
||||||
|
return Failed(100, "GET_MEMBERS_API_ERROR", err.Error())
|
||||||
|
}
|
||||||
|
group.Members = t
|
||||||
|
mem = group.FindMember(m.Sender.Uin)
|
||||||
|
if mem != nil{
|
||||||
|
return Failed(100,"MEMBER_NOT_FOUND","群员不存在")
|
||||||
|
}
|
||||||
|
}
|
||||||
ms := gm["sender"].(MSG)
|
ms := gm["sender"].(MSG)
|
||||||
ms["role"] = func() string {
|
ms["role"] = func() string {
|
||||||
switch mem.Permission {
|
switch mem.Permission {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// +build linux windows,!arm darwin
|
// +build linux windows,!arm darwin,!arm64
|
||||||
// +build 386 amd64 arm arm64
|
// +build 386 amd64 arm arm64
|
||||||
|
|
||||||
// Package codec Slik编码核心模块
|
// Package codec Slik编码核心模块
|
||||||
|
8
global/codec/codec_darwin_arm64.go
Normal file
8
global/codec/codec_darwin_arm64.go
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
package codec
|
||||||
|
|
||||||
|
import "github.com/pkg/errors"
|
||||||
|
|
||||||
|
//EncodeToSilk 将音频编码为Silk
|
||||||
|
func EncodeToSilk(record []byte, tempName string, useCache bool) ([]byte, error) {
|
||||||
|
return nil, errors.New("not supported now")
|
||||||
|
}
|
4
go.mod
4
go.mod
@ -1,9 +1,9 @@
|
|||||||
module github.com/Mrs4s/go-cqhttp
|
module github.com/Mrs4s/go-cqhttp
|
||||||
|
|
||||||
go 1.15
|
go 1.16
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/Mrs4s/MiraiGo v0.0.0-20210206134348-800bf525ed0e
|
github.com/Mrs4s/MiraiGo v0.0.0-20210219090120-c4288bd213f3
|
||||||
github.com/dustin/go-humanize v1.0.0
|
github.com/dustin/go-humanize v1.0.0
|
||||||
github.com/gin-contrib/pprof v1.3.0
|
github.com/gin-contrib/pprof v1.3.0
|
||||||
github.com/gin-gonic/gin v1.6.3
|
github.com/gin-gonic/gin v1.6.3
|
||||||
|
2
go.sum
2
go.sum
@ -2,6 +2,8 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT
|
|||||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||||
github.com/Mrs4s/MiraiGo v0.0.0-20210206134348-800bf525ed0e h1:SnN+nyRdqN7sULnHUWCofP+Jxs3VJN/y8AlMpcz0nbk=
|
github.com/Mrs4s/MiraiGo v0.0.0-20210206134348-800bf525ed0e h1:SnN+nyRdqN7sULnHUWCofP+Jxs3VJN/y8AlMpcz0nbk=
|
||||||
github.com/Mrs4s/MiraiGo v0.0.0-20210206134348-800bf525ed0e/go.mod h1:yhqA0NyKxUf7I/0HR/1OMchveFggX8wde04gqdGrNfU=
|
github.com/Mrs4s/MiraiGo v0.0.0-20210206134348-800bf525ed0e/go.mod h1:yhqA0NyKxUf7I/0HR/1OMchveFggX8wde04gqdGrNfU=
|
||||||
|
github.com/Mrs4s/MiraiGo v0.0.0-20210219090120-c4288bd213f3 h1:hsO/cT00Nxyi5FrnXImimBlcHKrdFh8yWEwp0OR88z8=
|
||||||
|
github.com/Mrs4s/MiraiGo v0.0.0-20210219090120-c4288bd213f3/go.mod h1:yhqA0NyKxUf7I/0HR/1OMchveFggX8wde04gqdGrNfU=
|
||||||
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
||||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
@ -148,7 +148,6 @@ func (s *webServer) logincore(relogin bool) {
|
|||||||
} else if err == client.ErrAlreadyOnline {
|
} else if err == client.ErrAlreadyOnline {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
log.Error("登录遇到错误: " + err.Error())
|
|
||||||
|
|
||||||
switch res.Error {
|
switch res.Error {
|
||||||
case client.SliderNeededError:
|
case client.SliderNeededError:
|
||||||
@ -157,12 +156,22 @@ func (s *webServer) logincore(relogin bool) {
|
|||||||
log.Warnf("2. 使用Cef自动处理.")
|
log.Warnf("2. 使用Cef自动处理.")
|
||||||
log.Warnf("3. 不提交滑块并继续.(可能会导致上网环境异常错误)")
|
log.Warnf("3. 不提交滑块并继续.(可能会导致上网环境异常错误)")
|
||||||
log.Warnf("详细信息请参考文档 -> https://github.com/Mrs4s/go-cqhttp/blob/master/docs/slider.md <-")
|
log.Warnf("详细信息请参考文档 -> https://github.com/Mrs4s/go-cqhttp/blob/master/docs/slider.md <-")
|
||||||
log.Warn("请输入(1 - 3): ")
|
if s.Conf.WebUI != nil && s.Conf.WebUI.WebInput {
|
||||||
text = readLine()
|
log.Warnf("请输入(1 - 3): (http://%s:%d/admin/do_web_write 输入)", s.Conf.WebUI.Host, s.Conf.WebUI.WebUIPort)
|
||||||
|
text = <-WebInput
|
||||||
|
} else {
|
||||||
|
log.Warn("请输入(1 - 3):")
|
||||||
|
text = readLine()
|
||||||
|
}
|
||||||
if strings.Contains(text, "1") {
|
if strings.Contains(text, "1") {
|
||||||
log.Warnf("请用浏览器打开 -> %v <- 并获取Ticket.", res.VerifyUrl)
|
log.Warnf("请用浏览器打开 -> %v <- 并获取Ticket.", res.VerifyUrl)
|
||||||
log.Warn("请输入Ticket: (Enter 提交)")
|
if s.Conf.WebUI != nil && s.Conf.WebUI.WebInput {
|
||||||
text = readLine()
|
log.Warnf("请输入Ticket: (http://%s:%d/admin/do_web_write 输入)", s.Conf.WebUI.Host, s.Conf.WebUI.WebUIPort)
|
||||||
|
text = <-WebInput
|
||||||
|
} else {
|
||||||
|
log.Warn("请输入Ticket: (Enter 提交)")
|
||||||
|
text = readLine()
|
||||||
|
}
|
||||||
res, err = s.Cli.SubmitTicket(strings.TrimSpace(text))
|
res, err = s.Cli.SubmitTicket(strings.TrimSpace(text))
|
||||||
goto Again
|
goto Again
|
||||||
}
|
}
|
||||||
@ -199,31 +208,50 @@ func (s *webServer) logincore(relogin bool) {
|
|||||||
res, err = s.Cli.SubmitCaptcha(strings.ReplaceAll(text, "\n", ""), res.CaptchaSign)
|
res, err = s.Cli.SubmitCaptcha(strings.ReplaceAll(text, "\n", ""), res.CaptchaSign)
|
||||||
goto Again
|
goto Again
|
||||||
case client.SMSNeededError:
|
case client.SMSNeededError:
|
||||||
log.Warnf("账号已开启设备锁, 按下 Enter 向手机 %v 发送短信验证码.", res.SMSPhone)
|
if s.Conf.WebUI != nil && s.Conf.WebUI.WebInput {
|
||||||
readLine()
|
log.Warnf("账号已开启设备锁, 已向手机 %v 发送短信验证码.", res.SMSPhone)
|
||||||
|
} else {
|
||||||
|
log.Warnf("账号已开启设备锁, 按下 Enter 向手机 %v 发送短信验证码.", res.SMSPhone)
|
||||||
|
readLine()
|
||||||
|
}
|
||||||
if !s.Cli.RequestSMS() {
|
if !s.Cli.RequestSMS() {
|
||||||
log.Warnf("发送验证码失败,可能是请求过于频繁.")
|
log.Warnf("发送验证码失败,可能是请求过于频繁.")
|
||||||
time.Sleep(time.Second * 5)
|
time.Sleep(time.Second * 5)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
log.Warn("请输入短信验证码: (Enter 提交)")
|
if s.Conf.WebUI != nil && s.Conf.WebUI.WebInput {
|
||||||
text = readLine()
|
log.Warnf("请输入短信验证码: (http://%s:%d/admin/do_web_write 输入)", s.Conf.WebUI.Host, s.Conf.WebUI.WebUIPort)
|
||||||
|
text = <-WebInput
|
||||||
|
} else {
|
||||||
|
log.Warn("请输入短信验证码: (Enter 提交)")
|
||||||
|
text = readLine()
|
||||||
|
}
|
||||||
res, err = s.Cli.SubmitSMS(strings.ReplaceAll(strings.ReplaceAll(text, "\n", ""), "\r", ""))
|
res, err = s.Cli.SubmitSMS(strings.ReplaceAll(strings.ReplaceAll(text, "\n", ""), "\r", ""))
|
||||||
goto Again
|
goto Again
|
||||||
case client.SMSOrVerifyNeededError:
|
case client.SMSOrVerifyNeededError:
|
||||||
log.Warnf("账号已开启设备锁,请选择验证方式:")
|
log.Warnf("账号已开启设备锁,请选择验证方式:")
|
||||||
log.Warnf("1. 向手机 %v 发送短信验证码", res.SMSPhone)
|
log.Warnf("1. 向手机 %v 发送短信验证码", res.SMSPhone)
|
||||||
log.Warnf("2. 使用手机QQ扫码验证.")
|
log.Warnf("2. 使用手机QQ扫码验证.")
|
||||||
log.Warn("请输入(1 - 2): ")
|
if s.Conf.WebUI != nil && s.Conf.WebUI.WebInput {
|
||||||
text = readLine()
|
log.Warnf("请输入(1 - 2): (http://%s:%d/admin/do_web_write 输入)", s.Conf.WebUI.Host, s.Conf.WebUI.WebUIPort)
|
||||||
|
text = <-WebInput
|
||||||
|
} else {
|
||||||
|
log.Warn("请输入(1 - 2):")
|
||||||
|
text = readLine()
|
||||||
|
}
|
||||||
if strings.Contains(text, "1") {
|
if strings.Contains(text, "1") {
|
||||||
if !s.Cli.RequestSMS() {
|
if !s.Cli.RequestSMS() {
|
||||||
log.Warnf("发送验证码失败,可能是请求过于频繁.")
|
log.Warnf("发送验证码失败,可能是请求过于频繁.")
|
||||||
time.Sleep(time.Second * 5)
|
time.Sleep(time.Second * 5)
|
||||||
os.Exit(0)
|
os.Exit(0)
|
||||||
}
|
}
|
||||||
log.Warn("请输入短信验证码: (Enter 提交)")
|
if s.Conf.WebUI != nil && s.Conf.WebUI.WebInput {
|
||||||
text = readLine()
|
log.Warnf("请输入短信验证码: (http://%s:%d/admin/do_web_write 输入)....", s.Conf.WebUI.Host, s.Conf.WebUI.WebUIPort)
|
||||||
|
text = <-WebInput
|
||||||
|
} else {
|
||||||
|
log.Warn("请输入短信验证码: (Enter 提交)")
|
||||||
|
text = readLine()
|
||||||
|
}
|
||||||
res, err = s.Cli.SubmitSMS(strings.ReplaceAll(strings.ReplaceAll(text, "\n", ""), "\r", ""))
|
res, err = s.Cli.SubmitSMS(strings.ReplaceAll(strings.ReplaceAll(text, "\n", ""), "\r", ""))
|
||||||
goto Again
|
goto Again
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user