diff --git a/cmd/gocq/main.go b/cmd/gocq/main.go index 30494ee..b422074 100644 --- a/cmd/gocq/main.go +++ b/cmd/gocq/main.go @@ -6,6 +6,7 @@ import ( "crypto/md5" "crypto/sha1" "encoding/hex" + "fmt" "os" "path" "sync" @@ -407,6 +408,13 @@ func newClient() *client.QQClient { log.Error("Protocol -> " + e.Message) case "DEBUG": log.Debug("Protocol -> " + e.Message) + case "DUMP": + if !global.PathExists(global.DumpsPath) { + _ = os.MkdirAll(global.DumpsPath, 0o755) + } + dumpFile := path.Join(global.DumpsPath, fmt.Sprintf("%v.dump", time.Now().Unix())) + log.Errorf("出现错误 %v. 详细信息已转储至文件 %v 请连同日志提交给开发者处理", e.Message, dumpFile) + _ = os.WriteFile(dumpFile, e.Dump, 0o644) } }) return c diff --git a/global/fs.go b/global/fs.go index 91d346b..f469344 100644 --- a/global/fs.go +++ b/global/fs.go @@ -32,6 +32,8 @@ const ( VideoPath = "data/videos" // CachePath go-cqhttp使用的缓存目录 CachePath = "data/cache" + // DumpsPath go-cqhttp使用错误转储目录 + DumpsPath = "dumps" ) var ( diff --git a/go.mod b/go.mod index c159c7a..45ea6c5 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.17 require ( github.com/Baozisoftware/qrcode-terminal-go v0.0.0-20170407111555-c0650d8dff0f github.com/Microsoft/go-winio v0.5.1 - github.com/Mrs4s/MiraiGo v0.0.0-20211214084325-ed979508cf8a + github.com/Mrs4s/MiraiGo v0.0.0-20211216072607-5a59cc656c48 github.com/dustin/go-humanize v1.0.0 github.com/fumiama/go-hide-param v0.1.4 github.com/gabriel-vasile/mimetype v1.4.0 diff --git a/go.sum b/go.sum index 06f5a9e..5da8400 100644 --- a/go.sum +++ b/go.sum @@ -3,8 +3,8 @@ github.com/Baozisoftware/qrcode-terminal-go v0.0.0-20170407111555-c0650d8dff0f/g github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/Microsoft/go-winio v0.5.1 h1:aPJp2QD7OOrhO5tQXqQoGSJc+DjDtWTGLOmNyAm6FgY= github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Mrs4s/MiraiGo v0.0.0-20211214084325-ed979508cf8a h1:hADFsj9XtB+A2AZAf99vMW870YpzjPDA30+mqCXJDCo= -github.com/Mrs4s/MiraiGo v0.0.0-20211214084325-ed979508cf8a/go.mod h1:YD9gBKkxC9lPPtx3doYXRG26VBkK6YXjrS76cv01C5w= +github.com/Mrs4s/MiraiGo v0.0.0-20211216072607-5a59cc656c48 h1:ZXofuoHtO8bWDSEAFJyho5qJyBjOdbLv/vDSn0d/rOI= +github.com/Mrs4s/MiraiGo v0.0.0-20211216072607-5a59cc656c48/go.mod h1:YD9gBKkxC9lPPtx3doYXRG26VBkK6YXjrS76cv01C5w= github.com/RomiChan/protobuf v0.0.0-20211204042931-ff4f35848737 h1:p4o7/eSoP39jwnGZz08N1IpH/mNzg9SdCn7kPM9A9BE= github.com/RomiChan/protobuf v0.0.0-20211204042931-ff4f35848737/go.mod h1:CKKOWC7mBxd36zxsCB1V8DTrwlTNRQvkSVbYqyUiGEE= github.com/bits-and-blooms/bitset v1.2.1 h1:M+/hrU9xlMp7t4TyTDQW97d3tRPVuKFC6zBEK16QnXY=