mirror of
https://github.com/Mrs4s/go-cqhttp.git
synced 2025-06-18 21:45:04 +08:00
dep: update MiraiGo
This commit is contained in:
parent
d7fe481a8b
commit
76295b0e89
@ -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
2
go.mod
@ -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
4
go.sum
@ -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=
|
||||||
|
@ -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 生成配置文件
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user