Using new groupme-lib with fayec websocket client
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2023-09-18 22:15:46 -05:00
parent b067459739
commit 2d93acdbf5
16 changed files with 47 additions and 90 deletions

21
user.go
View File

@@ -35,7 +35,7 @@ import (
"maunium.net/go/mautrix/format"
"maunium.net/go/mautrix/id"
"github.com/beeper/groupme-lib"
"gitea.watsonlabs.net/watsonb8/groupme-lib"
"github.com/beeper/groupme/database"
"github.com/beeper/groupme/groupmeext"
@@ -119,7 +119,7 @@ func (user *User) GetMXID() id.UserID {
}
func (user *User) GetGMID() groupme.ID {
if len(user.GMID) == 0 {
if user.GMID == "" {
u, err := user.Client.MyUser(context.TODO())
if err != nil {
user.log.Errorln("Failed to get own GroupMe ID:", err)
@@ -143,7 +143,7 @@ func (user *User) GetIDoublePuppet() bridge.DoublePuppet {
}
func (user *User) GetIGhost() bridge.Ghost {
if user.GMID.String() == "" {
if user.GMID == "" {
return nil
}
p := user.bridge.GetPuppetByGMID(user.GMID)
@@ -224,6 +224,7 @@ func (user *User) GetPortalByGMID(gmid groupme.ID) *Portal {
func (user *User) Login(token string) error {
user.Token = token
user.Update()
user.addToGMIDMap()
if user.Connect() {
@@ -259,9 +260,9 @@ func (user *User) Connect() bool {
conn := groupme.NewPushSubscription(context.Background())
user.Conn = &conn
user.Conn.StartListening(context.Background(), groupmeext.NewFayeClient(user.log))
user.Conn.Connect(context.Background(), user.Token)
user.Client = groupmeext.NewClient(user.Token)
if len(user.GMID) == 0 {
if user.GMID == "" {
myuser, err := user.Client.MyUser(context.TODO())
if err != nil {
log.Fatal(err) //TODO
@@ -277,10 +278,12 @@ func (user *User) Connect() bool {
func (user *User) RestoreSession() bool {
if len(user.Token) > 0 {
err := user.Conn.SubscribeToUser(context.TODO(), user.GMID, user.Token)
if err != nil {
fmt.Println(err)
}
go func() {
err := user.Conn.SubscribeToUser(context.TODO(), user.GMID)
if err != nil {
log.Fatal(err)
}
}()
//TODO: typing notifics
user.ConnectionErrors = 0
//user.SetSession(&sess)