public void GetUserTest() { var mock = Utils.MockApi(); // Without userid parameter mock.Setup(f => f.ClientProfile(It.IsAny <String>())); MatrixClient client = new MatrixClient((MatrixAPI)mock.Object); Assert.That(client.GetUser(), Is.Null); mock.Setup(f => f.ClientProfile(It.IsAny <String>())).Returns(new MatrixProfile()); var user = client.GetUser(); Assert.That(user, Is.Not.Null); Assert.That(user.UserID, Is.EqualTo("@foobar:localhost")); //With userid parameter. mock.Setup(f => f.ClientProfile(It.IsAny <String>())); Assert.That(client.GetUser("@barbaz:localhost"), Is.Null); mock.Setup(f => f.ClientProfile(It.IsAny <String>())).Returns(new MatrixProfile()); user = client.GetUser("@barbaz:localhost"); Assert.That(user, Is.Not.Null); Assert.That(user.UserID, Is.EqualTo("@barbaz:localhost")); }
public void CreateCheatLobby(string sender) { MatrixUser user = client.GetUser(sender); MatrixRoom room = CreateLobbyRoom(user, "Cheat"); Lobby lobby = new CheatLobby(room, user, client); lobbies.Add(lobby); }
void Room_OnEvent(MatrixRoom room, MatrixEvent evt) { if (evt.sender == null) { return; } MatrixUser user = client.GetUser(evt.sender); //Deal with players leaving or joining if (evt.type == "m.room.member") { EMatrixRoomMembership memtype = ((MatrixMRoomMember)evt.content).membership; if (memtype == EMatrixRoomMembership.Leave) { PlayerLeave(user); } else if (memtype == EMatrixRoomMembership.Join) { PlayerJoin(user); } } else if (evt.type == "m.room.message") { PlayerMessage(user, (MatrixMRoomMessage)evt.content); } }
public static void Main(string[] args) { MatrixClient client = new MatrixClient(""); client.LoginWithPassword("", ""); MatrixUser user = client.GetUser(""); }
protected void onLogin(object sender, EventArgs e) { Console.WriteLine("Trying to login to the matrix server..."); var client = new MatrixClient(this.serverEntry.Text); try{ client.LoginWithPassword(this.usernameEntry.Text, this.passwordEntry.Text); var user = client.GetUser(); Console.WriteLine("Login success"); var storage = new Storage(); storage.Server = this.serverEntry.Text; storage.Username = this.usernameEntry.Text; storage.UserId = user.UserID; storage.Token = client.GetAccessToken(); storage.Save(); }catch (Exception loginException) { Console.WriteLine(loginException.Message); } }
public void MatrixRoutine() { var storage = new Storage(); client = new MatrixClient(storage.Server); cache = new Cache(client); try{ client.UseExistingToken(storage.UserId, storage.Token); this.user = client.GetUser(); Gtk.Application.Invoke(delegate { var statusContext = statusbar.GetContextId("matrix"); statusbar.Push(statusContext, "Logged in to " + storage.Server + " as " + storage.UserId); displayName.Text = user.DisplayName; }); }catch (Exception loginException) { Gtk.Application.Invoke(delegate { var statusContext = statusbar.GetContextId("matrix"); statusbar.Push(statusContext, "Login failed: " + loginException.Message); }); storage.Token = null; storage.Save(); } var rooms = client.GetAllRooms(); channelList.AppendColumn("Icon", new Gtk.CellRendererPixbuf(), "pixbuf", 0); channelList.AppendColumn("Artist", new Gtk.CellRendererText(), "text", 1); var liststore = new ListStore(typeof(Gdk.Pixbuf), typeof(string)); int roomIndex = 0; foreach (var channel in rooms) { var label = getRoomLabel(channel); var icon = AvatarGenerator.createRoomAvatar(label, channel.Encryption != null); liststore.AppendValues(icon, label); this.rooms.Add(roomIndex, channel); roomIndex++; foreach (var member in channel.Members) { if (!this.users.ContainsKey(member.Key)) { this.users.Add(member.Key, member.Value); } } } channelList.Model = liststore; var avatar = cache.GetAvatarObject(user.AvatarURL); var avatarScaled = Utils.resizeImage(System.Drawing.Image.FromStream(avatar), 48, 48); profileImage.Pixbuf = Utils.bitmapToPixbuf(avatarScaled); foreach (var member in this.users) { if (member.Value.avatar_url != null) { var memberAvatar = cache.GetAvatarObject(member.Value.avatar_url); var scaled = Utils.resizeImage(System.Drawing.Image.FromStream(memberAvatar), 32, 32); this.avatars.Add(member.Key, scaled); } } refreshRoomList(); Console.WriteLine("Matrix thread done"); }