1
0
mirror of https://github.com/Mrs4s/go-cqhttp.git synced 2025-06-18 13:35:03 +08:00

dep: update MiraiGo

This commit is contained in:
wdvxdr 2022-03-17 16:59:47 +08:00
parent d7fe481a8b
commit 76295b0e89
No known key found for this signature in database
GPG Key ID: 703F8C071DE7A1B6
5 changed files with 27 additions and 34 deletions

View File

@ -10,15 +10,21 @@ import (
"gopkg.in/yaml.v3" "gopkg.in/yaml.v3"
"github.com/Mrs4s/go-cqhttp/db" "github.com/Mrs4s/go-cqhttp/db"
"github.com/Mrs4s/go-cqhttp/modules/config"
) )
type MongoDBImpl struct { type database struct {
uri string uri string
db string db string
mongo *mongo.Database mongo *mongo.Database
} }
// config mongodb 相关配置
type config struct {
Enable bool `yaml:"enable"`
URI string `yaml:"uri"`
Database string `yaml:"database"`
}
const ( const (
MongoGroupMessageCollection = "group-messages" MongoGroupMessageCollection = "group-messages"
MongoPrivateMessageCollection = "private-messages" MongoPrivateMessageCollection = "private-messages"
@ -26,8 +32,8 @@ const (
) )
func init() { func init() {
db.Register("mongodb", func(node yaml.Node) db.Database { db.Register("database", func(node yaml.Node) db.Database {
conf := new(config.MongoDBConfig) conf := new(config)
_ = node.Decode(conf) _ = node.Decode(conf)
if conf.Database == "" { if conf.Database == "" {
conf.Database = "gocq-database" conf.Database = "gocq-database"
@ -35,11 +41,11 @@ func init() {
if !conf.Enable { if !conf.Enable {
return nil return nil
} }
return &MongoDBImpl{uri: conf.URI, db: conf.Database} return &database{uri: conf.URI, db: conf.Database}
}) })
} }
func (m *MongoDBImpl) Open() error { func (m *database) Open() error {
cli, err := mongo.Connect(context.Background(), options.Client().ApplyURI(m.uri)) cli, err := mongo.Connect(context.Background(), options.Client().ApplyURI(m.uri))
if err != nil { if err != nil {
return errors.Wrap(err, "open mongo connection error") return errors.Wrap(err, "open mongo connection error")
@ -48,14 +54,14 @@ func (m *MongoDBImpl) Open() error {
return nil return nil
} }
func (m *MongoDBImpl) GetMessageByGlobalID(id int32) (db.StoredMessage, error) { func (m *database) GetMessageByGlobalID(id int32) (db.StoredMessage, error) {
if r, err := m.GetGroupMessageByGlobalID(id); err == nil { if r, err := m.GetGroupMessageByGlobalID(id); err == nil {
return r, nil return r, nil
} }
return m.GetPrivateMessageByGlobalID(id) return m.GetPrivateMessageByGlobalID(id)
} }
func (m *MongoDBImpl) GetGroupMessageByGlobalID(id int32) (*db.StoredGroupMessage, error) { func (m *database) GetGroupMessageByGlobalID(id int32) (*db.StoredGroupMessage, error) {
coll := m.mongo.Collection(MongoGroupMessageCollection) coll := m.mongo.Collection(MongoGroupMessageCollection)
var ret db.StoredGroupMessage var ret db.StoredGroupMessage
if err := coll.FindOne(context.Background(), bson.D{{"globalId", id}}).Decode(&ret); err != nil { if err := coll.FindOne(context.Background(), bson.D{{"globalId", id}}).Decode(&ret); err != nil {
@ -64,7 +70,7 @@ func (m *MongoDBImpl) GetGroupMessageByGlobalID(id int32) (*db.StoredGroupMessag
return &ret, nil return &ret, nil
} }
func (m *MongoDBImpl) GetPrivateMessageByGlobalID(id int32) (*db.StoredPrivateMessage, error) { func (m *database) GetPrivateMessageByGlobalID(id int32) (*db.StoredPrivateMessage, error) {
coll := m.mongo.Collection(MongoPrivateMessageCollection) coll := m.mongo.Collection(MongoPrivateMessageCollection)
var ret db.StoredPrivateMessage var ret db.StoredPrivateMessage
if err := coll.FindOne(context.Background(), bson.D{{"globalId", id}}).Decode(&ret); err != nil { if err := coll.FindOne(context.Background(), bson.D{{"globalId", id}}).Decode(&ret); err != nil {
@ -73,7 +79,7 @@ func (m *MongoDBImpl) GetPrivateMessageByGlobalID(id int32) (*db.StoredPrivateMe
return &ret, nil return &ret, nil
} }
func (m *MongoDBImpl) GetGuildChannelMessageByID(id string) (*db.StoredGuildChannelMessage, error) { func (m *database) GetGuildChannelMessageByID(id string) (*db.StoredGuildChannelMessage, error) {
coll := m.mongo.Collection(MongoGuildChannelMessageCollection) coll := m.mongo.Collection(MongoGuildChannelMessageCollection)
var ret db.StoredGuildChannelMessage var ret db.StoredGuildChannelMessage
if err := coll.FindOne(context.Background(), bson.D{{"_id", id}}).Decode(&ret); err != nil { if err := coll.FindOne(context.Background(), bson.D{{"_id", id}}).Decode(&ret); err != nil {
@ -82,19 +88,19 @@ func (m *MongoDBImpl) GetGuildChannelMessageByID(id string) (*db.StoredGuildChan
return &ret, nil return &ret, nil
} }
func (m *MongoDBImpl) InsertGroupMessage(msg *db.StoredGroupMessage) error { func (m *database) InsertGroupMessage(msg *db.StoredGroupMessage) error {
coll := m.mongo.Collection(MongoGroupMessageCollection) coll := m.mongo.Collection(MongoGroupMessageCollection)
_, err := coll.UpdateOne(context.Background(), bson.D{{"_id", msg.ID}}, bson.D{{"$set", msg}}, options.Update().SetUpsert(true)) _, err := coll.UpdateOne(context.Background(), bson.D{{"_id", msg.ID}}, bson.D{{"$set", msg}}, options.Update().SetUpsert(true))
return errors.Wrap(err, "insert error") return errors.Wrap(err, "insert error")
} }
func (m *MongoDBImpl) InsertPrivateMessage(msg *db.StoredPrivateMessage) error { func (m *database) InsertPrivateMessage(msg *db.StoredPrivateMessage) error {
coll := m.mongo.Collection(MongoPrivateMessageCollection) coll := m.mongo.Collection(MongoPrivateMessageCollection)
_, err := coll.UpdateOne(context.Background(), bson.D{{"_id", msg.ID}}, bson.D{{"$set", msg}}, options.Update().SetUpsert(true)) _, err := coll.UpdateOne(context.Background(), bson.D{{"_id", msg.ID}}, bson.D{{"$set", msg}}, options.Update().SetUpsert(true))
return errors.Wrap(err, "insert error") return errors.Wrap(err, "insert error")
} }
func (m *MongoDBImpl) InsertGuildChannelMessage(msg *db.StoredGuildChannelMessage) error { func (m *database) InsertGuildChannelMessage(msg *db.StoredGuildChannelMessage) error {
coll := m.mongo.Collection(MongoGuildChannelMessageCollection) coll := m.mongo.Collection(MongoGuildChannelMessageCollection)
_, err := coll.UpdateOne(context.Background(), bson.D{{"_id", msg.ID}}, bson.D{{"$set", msg}}, options.Update().SetUpsert(true)) _, err := coll.UpdateOne(context.Background(), bson.D{{"_id", msg.ID}}, bson.D{{"$set", msg}}, options.Update().SetUpsert(true))
return errors.Wrap(err, "insert error") return errors.Wrap(err, "insert error")

2
go.mod
View File

@ -4,7 +4,7 @@ go 1.18
require ( require (
github.com/Microsoft/go-winio v0.5.1 github.com/Microsoft/go-winio v0.5.1
github.com/Mrs4s/MiraiGo v0.0.0-20220302134146-348e317a3400 github.com/Mrs4s/MiraiGo v0.0.0-20220317085721-6d84141b8dd3
github.com/RomiChan/websocket v1.4.3-0.20220123145318-307a86b127bc github.com/RomiChan/websocket v1.4.3-0.20220123145318-307a86b127bc
github.com/fumiama/go-hide-param v0.1.4 github.com/fumiama/go-hide-param v0.1.4
github.com/gabriel-vasile/mimetype v1.4.0 github.com/gabriel-vasile/mimetype v1.4.0

4
go.sum
View File

@ -1,7 +1,7 @@
github.com/Microsoft/go-winio v0.5.1 h1:aPJp2QD7OOrhO5tQXqQoGSJc+DjDtWTGLOmNyAm6FgY= 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/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
github.com/Mrs4s/MiraiGo v0.0.0-20220302134146-348e317a3400 h1:5e0KDN118/RKItDmUcJyCkyyK/EGItYYJ5TVX/jb6xM= github.com/Mrs4s/MiraiGo v0.0.0-20220317085721-6d84141b8dd3 h1:U3UumMt052Ii1gGrkKM1MbX1uxCzxKhlfuNQ42LtIRQ=
github.com/Mrs4s/MiraiGo v0.0.0-20220302134146-348e317a3400/go.mod h1:qJWkRO5vry/sUHthX5kh6go2llYIVAJ+Mq8p+N/FW+8= github.com/Mrs4s/MiraiGo v0.0.0-20220317085721-6d84141b8dd3/go.mod h1:qJWkRO5vry/sUHthX5kh6go2llYIVAJ+Mq8p+N/FW+8=
github.com/RomiChan/protobuf v0.0.0-20220227114948-643565fff248 h1:1jRB6xuBKwfgZrg0bA7XJin0VeNwG9iJKx9RXwDobt4= github.com/RomiChan/protobuf v0.0.0-20220227114948-643565fff248 h1:1jRB6xuBKwfgZrg0bA7XJin0VeNwG9iJKx9RXwDobt4=
github.com/RomiChan/protobuf v0.0.0-20220227114948-643565fff248/go.mod h1:CKKOWC7mBxd36zxsCB1V8DTrwlTNRQvkSVbYqyUiGEE= github.com/RomiChan/protobuf v0.0.0-20220227114948-643565fff248/go.mod h1:CKKOWC7mBxd36zxsCB1V8DTrwlTNRQvkSVbYqyUiGEE=
github.com/RomiChan/websocket v1.4.3-0.20220123145318-307a86b127bc h1:AAx50/fb/xS4lvsdQg+bFbGvqSDhyV1MF+p2PLCamZ0= github.com/RomiChan/websocket v1.4.3-0.20220123145318-307a86b127bc h1:AAx50/fb/xS4lvsdQg+bFbGvqSDhyV1MF+p2PLCamZ0=

View File

@ -8,7 +8,6 @@ import (
"os" "os"
"regexp" "regexp"
"strings" "strings"
"sync"
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
"gopkg.in/yaml.v3" "gopkg.in/yaml.v3"
@ -75,13 +74,6 @@ type Server struct {
Default string Default string
} }
// MongoDBConfig mongodb 相关配置
type MongoDBConfig struct {
Enable bool `yaml:"enable"`
URI string `yaml:"uri"`
Database string `yaml:"database"`
}
// Parse 从默认配置文件路径中获取 // Parse 从默认配置文件路径中获取
func Parse(path string) *Config { func Parse(path string) *Config {
file, err := os.ReadFile(path) file, err := os.ReadFile(path)
@ -98,16 +90,11 @@ func Parse(path string) *Config {
return config return config
} }
var ( var serverconfs []*Server
serverconfs []*Server
mu sync.Mutex
)
// AddServer 添加该服务的简介和默认配置 // AddServer 添加该服务的简介和默认配置
func AddServer(s *Server) { func AddServer(s *Server) {
mu.Lock()
serverconfs = append(serverconfs, s) serverconfs = append(serverconfs, s)
mu.Unlock()
} }
// generateConfig 生成配置文件 // generateConfig 生成配置文件

View File

@ -190,9 +190,9 @@ func (c *lambdaClient) next() *http.Request {
if resp.StatusCode != http.StatusOK { if resp.StatusCode != http.StatusOK {
return nil return nil
} }
req := new(http.Request) var req http.Request
invoke := new(lambdaInvoke) var invoke lambdaInvoke
_ = json.NewDecoder(resp.Body).Decode(invoke) _ = json.NewDecoder(resp.Body).Decode(&invoke)
if invoke.HTTPMethod == "" { // 不是 api 网关 if invoke.HTTPMethod == "" { // 不是 api 网关
return nil return nil
} }
@ -211,5 +211,5 @@ func (c *lambdaClient) next() *http.Request {
query[k] = []string{v} query[k] = []string{v}
} }
req.URL.RawQuery = query.Encode() req.URL.RawQuery = query.Encode()
return req return &req
} }