diff --git a/go-bot/go-bot b/go-bot/go-bot index 2fe6490..17960a7 100755 Binary files a/go-bot/go-bot and b/go-bot/go-bot differ diff --git a/go-bot/main.go b/go-bot/main.go index 3d75b71..0f87913 100644 --- a/go-bot/main.go +++ b/go-bot/main.go @@ -53,6 +53,7 @@ func main() { panic(err) } defer rl.Close() + log := zerolog.New(zerolog.NewConsoleWriter(func(w *zerolog.ConsoleWriter) { w.Out = rl.Stdout() w.TimeFormat = time.Stamp @@ -65,7 +66,16 @@ func main() { var lastRoomID id.RoomID + // Syncer Setup syncer := client.Syncer.(*mautrix.DefaultSyncer) + + // log all event-Types coming in + syncer.OnEvent(func(ctx context.Context, evt *event.Event) { + log.Info(). + Str("TYPE", evt.Type.Type). + Msg("Event") + }) + syncer.OnEventType(event.EventMessage, func(ctx context.Context, evt *event.Event) { lastRoomID = evt.RoomID rl.SetPrompt(fmt.Sprintf("%s> ", lastRoomID)) @@ -76,6 +86,7 @@ func main() { Str("body", evt.Content.AsMessage().Body). Msg("Received message") }) + syncer.OnEventType(event.StateMember, func(ctx context.Context, evt *event.Event) { if evt.GetStateKey() == client.UserID.String() && evt.Content.AsMember().Membership == event.MembershipInvite { _, err := client.JoinRoomByID(ctx, evt.RoomID) @@ -94,9 +105,7 @@ func main() { } } }) - // req = mautrix.ReqLogin() - // resp, err := client.Login(context.Background(), req*mautrix.ReqLogin) - // fmt.Println(resp, err) + cryptoHelper, err := cryptohelper.NewCryptoHelper(client, []byte("meow"), *database) if err != nil { panic(err) @@ -121,6 +130,7 @@ func main() { // Set the client crypto helper in order to automatically encrypt outgoing messages client.Crypto = cryptoHelper log.Info().Msg("Now running") + // Setting up the context for syncing the server syncCtx, cancelSync := context.WithCancel(context.Background()) var syncStopWait sync.WaitGroup syncStopWait.Add(1) @@ -150,8 +160,7 @@ func main() { } } cancelSync() - // mautrix.SyncEventsListncStopWait.Wait() - // err = cryptoHelper.Close() + err = cryptoHelper.Close() if err != nil { log.Error().Err(err).Msg("Error closing database") }