package main import ( "context" "log" "os" "slices" "maunium.net/go/mautrix" "maunium.net/go/mautrix/id" ) func main() { if len(os.Args) != 5 { log.Fatalln(os.Args[0] + " ") } client, err := mautrix.NewClient(os.Args[1], id.UserID(os.Args[2]), os.Args[3]) rooms, err := client.JoinedRooms(context.TODO()) if err != nil { log.Fatalln(err) } if !slices.Contains(rooms.JoinedRooms, id.RoomID(os.Args[4])) { _, err := client.JoinRoom(context.TODO(), os.Args[4], &mautrix.ReqJoinRoom{Via: []string{os.Args[5]}}) if err != nil { log.Fatalln(err) } } }