Documentation ¶
Index ¶
- Variables
- func Init()
- func InsertGroupMessage(m *StoredGroupMessage) error
- func InsertPrivateMessage(m *StoredPrivateMessage) error
- func Open() error
- func Register(name string, init func(yaml.Node) Database)
- func ToGlobalID(code int64, msgID int32) int32
- type Database
- type QuotedInfo
- type StoredGroupMessage
- type StoredMessage
- type StoredMessageAttribute
- type StoredPrivateMessage
Constants ¶
This section is empty.
Variables ¶
View Source
var DatabaseDisabledError = errors.New("database disabled")
DatabaseDisabledError 没有可用的db
Functions ¶
func InsertGroupMessage ¶
func InsertGroupMessage(m *StoredGroupMessage) error
func InsertPrivateMessage ¶
func InsertPrivateMessage(m *StoredPrivateMessage) error
func ToGlobalID ¶
ToGlobalID 构建`code`-`msgID`的字符串并返回其CRC32 Checksum的值
Types ¶
type Database ¶
type Database interface { // Open 初始化数据库 Open() error // GetMessageByGlobalID 通过 GlobalID 来获取消息 GetMessageByGlobalID(int32) (StoredMessage, error) // GetGroupMessageByGlobalID 通过 GlobalID 来获取群消息 GetGroupMessageByGlobalID(int32) (*StoredGroupMessage, error) // GetPrivateMessageByGlobalID 通过 GlobalID 来获取私聊消息 GetPrivateMessageByGlobalID(int32) (*StoredPrivateMessage, error) // InsertGroupMessage 向数据库写入新的群消息 InsertGroupMessage(*StoredGroupMessage) error // InsertPrivateMessage 向数据库写入新的私聊消息 InsertPrivateMessage(*StoredPrivateMessage) error }
Database 数据库操作接口定义
type QuotedInfo ¶
type QuotedInfo struct { PrevID string `bson:"prevId"` PrevGlobalID int32 `bson:"prevGlobalId"` QuotedContent []global.MSG `bson:"quotedContent"` }
QuotedInfo 引用回复
type StoredGroupMessage ¶
type StoredGroupMessage struct { ID string `bson:"_id"` GlobalID int32 `bson:"globalId"` Attribute *StoredMessageAttribute `bson:"attribute"` SubType string `bson:"subType"` QuotedInfo *QuotedInfo `bson:"quotedInfo"` GroupCode int64 `bson:"groupCode"` AnonymousID string `bson:"anonymousId"` Content []global.MSG `bson:"content"` }
StoredGroupMessage 持久化群消息
func GetGroupMessageByGlobalID ¶
func GetGroupMessageByGlobalID(id int32) (*StoredGroupMessage, error)
func (*StoredGroupMessage) GetAttribute ¶
func (m *StoredGroupMessage) GetAttribute() *StoredMessageAttribute
func (*StoredGroupMessage) GetContent ¶
func (m *StoredGroupMessage) GetContent() []global.MSG
func (*StoredGroupMessage) GetGlobalID ¶
func (m *StoredGroupMessage) GetGlobalID() int32
func (*StoredGroupMessage) GetID ¶
func (m *StoredGroupMessage) GetID() string
func (*StoredGroupMessage) GetType ¶
func (m *StoredGroupMessage) GetType() string
type StoredMessage ¶
type StoredMessage interface { GetID() string GetType() string GetGlobalID() int32 GetAttribute() *StoredMessageAttribute GetContent() []global.MSG }
func GetMessageByGlobalID ¶
func GetMessageByGlobalID(id int32) (StoredMessage, error)
type StoredMessageAttribute ¶
type StoredMessageAttribute struct { MessageSeq int32 `bson:"messageSeq"` InternalID int32 `bson:"internalId"` SenderUin int64 `bson:"senderUin"` SenderName string `bson:"senderName"` Timestamp int64 `bson:"timestamp"` }
StoredMessageAttribute 持久化消息属性
type StoredPrivateMessage ¶
type StoredPrivateMessage struct { ID string `bson:"_id"` GlobalID int32 `bson:"globalId"` Attribute *StoredMessageAttribute `bson:"attribute"` SubType string `bson:"subType"` QuotedInfo *QuotedInfo `bson:"quotedInfo"` SessionUin int64 `bson:"sessionUin"` TargetUin int64 `bson:"targetUin"` Content []global.MSG `bson:"content"` }
StoredPrivateMessage 持久化私聊消息
func GetPrivateMessageByGlobalID ¶
func GetPrivateMessageByGlobalID(id int32) (*StoredPrivateMessage, error)
func (*StoredPrivateMessage) GetAttribute ¶
func (m *StoredPrivateMessage) GetAttribute() *StoredMessageAttribute
func (*StoredPrivateMessage) GetContent ¶
func (m *StoredPrivateMessage) GetContent() []global.MSG
func (*StoredPrivateMessage) GetGlobalID ¶
func (m *StoredPrivateMessage) GetGlobalID() int32
func (*StoredPrivateMessage) GetID ¶
func (m *StoredPrivateMessage) GetID() string
func (*StoredPrivateMessage) GetType ¶
func (m *StoredPrivateMessage) GetType() string
Click to show internal directories.
Click to hide internal directories.