Вывод присылаемых сообщений клиенту на консоли

Сайт использует matrix и на вход нужно использовать логин, пароль и url сайта. Возникает ошибка client.Events и mautrix.EventTypeRoomMessage undefined. Вопрос можно ли как то сделать вывод сообщений в консоли go. Код ниже.

import (
  "bufio"
  "fmt"
  "log"
  "os"
  "strings"

  //"time"

  mautrix "maunium.net/go/mautrix"
  //maevent "maunium.net/go/mautrix/event"
  //"github.com/google/uuid"
)

func main() {
  reader := bufio.NewReader(os.Stdin)

  // Read the username
  fmt.Print("Enter username: ")
  username, _ := reader.ReadString('\n')
  username = strings.TrimSpace(username)

  // Read the password
  fmt.Print("Enter password: ")
  password, _ := reader.ReadString('\n')
  password = strings.TrimSpace(password)

  // Read the homeserver URL
  fmt.Print("Enter homeserver URL: ")
  homeserverURL, _ := reader.ReadString('\n')
  homeserverURL = strings.TrimSpace(homeserverURL)

  // Create a new client
  client, err := mautrix.NewClient(homeserverURL, "", "")
  if err != nil {
    log.Fatal(err)
  }

  // Login
  _, err = client.Login(&mautrix.ReqLogin{
    Type:                     "m.login.password",
    Identifier:               mautrix.UserIdentifier{Type: "m.id.user", User: username},
    Password:                 password,
    Token:                    "",
    DeviceID:                 "",
    InitialDeviceDisplayName: "",
    StoreCredentials:         false,
    StoreHomeserverURL:       false,
  })
  if err != nil {
    log.Fatal(err)
  }

  fmt.Println("Successful login!")

  // Start message synchronization
err = client.Sync()
if err != nil {
    log.Fatal(err)
}

// Handle incoming events
for event := range client.Events {
    if event.Type() == mautrix.EventTypeRoomMessage {
        // Process the incoming message
        messageEvent := event.RoomMessage()

        // Extract message details
        sender := messageEvent.Sender
        content := messageEvent.Content.Body

        // Print the message to the console
        fmt.Printf("New message from %s: %s\n", sender, content)
    }
}

  

}
    

Ответы (0 шт):