matrix continuation lives in db not config file

This commit is contained in:
Bel LaPointe
2022-01-14 08:48:09 -05:00
parent cf421e414c
commit 442e8c2992
5 changed files with 23 additions and 11 deletions

View File

@@ -31,7 +31,7 @@ func NewMatrix() Matrix {
token: conf.Token,
room: conf.Room,
mock: conf.Mock,
continuation: conf.Continuation,
continuation: GetMatrixContinuation(),
}
}
@@ -71,11 +71,11 @@ func (m *Matrix) Receive() ([]Message, error) {
return nil, err
}
messages := make([]Message, 0)
result, err := c.Messages(m.room, "999999999999999999", m.continuation, 'b', 50)
result, err := c.Messages(m.room, "999999999999999999", m.Continuation(), 'b', 50)
if err != nil {
return nil, err
}
log.Printf("%s => {Start:%s End:%v};; %v, (%d)", m.continuation, result.Start, result.End, err, len(result.Chunk))
log.Printf("%s => {Start:%s End:%v};; %v, (%d)", m.Continuation(), result.Start, result.End, err, len(result.Chunk))
m.continuation = result.End
for _, event := range result.Chunk {
//log.Printf("%+v", event)
@@ -161,3 +161,21 @@ func (m Matrix) SendImage(uri string) error {
log.Printf("sent image %s => %s: %+v", uri, publicURI, resp)
return err
}
func SetMatrixContinuation(continuation string) {
db := config.Get().DB()
db.Set(getMatrixContinuationKey(), []byte(continuation))
}
func GetMatrixContinuation() string {
db := config.Get().DB()
b, _ := db.Get(getMatrixContinuationKey())
if b == nil {
return "0"
}
return string(b)
}
func getMatrixContinuationKey() string {
return "matrix_continuation"
}