private void GetAllUser(object source, OnGetUserEventArgs args) { if (!args.Update) { foreach (string name in args.Users) { if (!OnlineUsers.Any(u => u.Name == name)) { MainDispatcher.Invoke(() => { OnlineUsers.Add(new User { Name = name }); }); } } } else { if (args.AddUser) { MainDispatcher.Invoke(() => { OnlineUsers.Add(new User { Name = args.User }); }); } else { try { var user = OnlineUsers.FirstOrDefault(u => u.Name == args.User); MainDispatcher.Invoke(() => { OnlineUsers.Remove(user); }); } catch { } } } }
public void AddPlayer(String player, int entityId) { if (!IsStringInList(player, Player)) { Player.Add(player); UpdatePlayer(player, 1); foreach (IPlugin plugin in Plugins) { try { if (plugin.Enabled) { plugin.OnPlayerJoined(this, player); } } catch { Log.AppendText("Error Executing Plugin OnPlayerJoined()", Log.PluginLog); } } try { UserCollectionSingletone users = UserCollectionSingletone.GetInstance(); User user = users.GetUserByName(player); user.LastEntityId = entityId; OnlineUsers.Add(user); } catch { Log.AppendText("Error Adding user at OnlineUsers OnPlayerJoined()", Log.ExceptionsLog); } } }
public void OnUserLoggedIn(string userName) { _guiDispatcher.Invoke(() => { Users.Remove(userName); OnlineUsers.Add(userName); }); }
private void UpdateTextBox(string tekst) { if (tekst == "") { return; } string[] data = tekst.Split(';'); switch (data[0]) { case "Ingelogd": btnInloggen.Enabled = false; btnRegistreren.Enabled = false; btnUitloggen.Enabled = true; IK = new User(data[1]); break; case "Uitgelogd": btnInloggen.Enabled = false; btnRegistreren.Enabled = false; btnUitloggen.Enabled = false; btnVerbind.Enabled = true; listBox1.Items.Clear(); myNetworkStream.Close(); mySocket.Shutdown(SocketShutdown.Both); break; case "Online users": listBox1.Items.Clear(); OnlineUsers.Clear(); for (int i = 1; i < data.Length; i++) { listBox1.Items.Add(data[i].Split(',')[1]); OnlineUsers.Add(new User(data[i])); } break; case "Bericht": // Bericht;zender.id;zender.user;ik.id;bericht ChatSessie[] it = Sessies.Where(T => T.Ontvanger.ID == Convert.ToInt32(data[1])).ToArray(); if (it.Length == 1) { it[0].OntvangBericht(data[2], data[4]); it[0].BringToFront(); it[0].Activate(); } else { ChatSessie nieuw = new ChatSessie(this, OnlineUsers.Where(T => T.ID == Convert.ToInt32(data[1])).ElementAt(0)); nieuw.FormClosed += delegate { Sessies.Remove(nieuw); }; Sessies.Add(nieuw); nieuw.Owner = this; nieuw.Show(); nieuw.OntvangBericht(data[2], data[4]); } break; } txtOntvangen.AppendText(tekst + Environment.NewLine); }
public static void AddOnlineUser(HubUser hubUser) { if (OnlineUsers == null) { OnlineUsers = new List <HubUser>(); } if (OnlineUsers.FirstOrDefault(p => p.ID == hubUser.ID) == null) { OnlineUsers.Add(hubUser); } }
public void OnUserLoggedIn(string userName) { if (userName != null) { OfflineUsers.Remove(userName); } var userOnline = OnlineUsers.SingleOrDefault(x => x == userName); if (userOnline != null) { return; } OnlineUsers.Add(userName); OnPropertyChanged(nameof(OnlineUsers)); }
/// <summary> /// Try to add user to Online List, if already exists, find him and return /// </summary> /// <param name="chatLine">Full chat line</param> /// <returns>Sender user</returns> public User JoinUser(string chatLine) { string username = Parsing.ParseUsername(chatLine); long userId = Parsing.ParseUserId(chatLine); if (!OnlineUsers.Any(x => x.Username == username)) { // User is not in the list var newUser = new User(username) { ID = userId }; newUser = _botDataManager.LoadUserData(newUser); OnlineUsers.Add(newUser); OnUserJoined?.Invoke(this, new OnUserArgs { User = newUser }); _logger.LogInformation("[JOIN] {name} joined the broadcast!", username); return(newUser); } return(FindOnlineUser(username)); }
public async Task Connect(UserViewModel user) { var newUser = new User { Id = Context.ConnectionId, UserName = user.Name }; if (OnlineUsers.FirstOrDefault(usr => usr.Id == Context.ConnectionId) != null) { var old = OnlineUsers.FirstOrDefault(usr => usr.Id == Context.ConnectionId); old.UserName = user.Name; await Clients.All.SendAsync("UserConnected", GetOnlineUsers()); } else { OnlineUsers.Add(newUser); await Clients.All.SendAsync("UserConnected", GetOnlineUsers()); } var chat = Chats.FirstOrDefault(cht => cht.Name == "Global Chat"); newUser.ChatId = chat.ChatId; chat.ConnectedUsers.Add(newUser); //бага тута //await Clients.Caller.SendAsync("ConnectToChat2", new { newUser.CurrentChat.Messages, Users = new[] { new User { UserName = "******" } } }); //var costilniyChat = new Chat { // ConnectedUsers = newUser.CurrentChat.ConnectedUsers.Select(usr => new User // { // UserName = usr.UserName, // MessageBox = newUser.MessageBox, // Id = newUser.Id, // CurrentChat = null // }).ToList(), // ChatId = newUser.CurrentChat.ChatId, // Messages = newUser.CurrentChat.Messages, // Name = newUser.CurrentChat.Name //}; await Clients.Caller.SendAsync("ConnectToChat", chat); }
public MainViewModel(Chat tcpChat) { chat = tcpChat; chat.OnMessageRecieved += HandleRecievedMessage; chat.OnStrokeRecieved += HandleRecievedStroke; chat.OnUserConnected += user => { Application.Current.Dispatcher.Invoke(() => { if (OnlineUsers.Contains(user)) { return; } OnlineUsers.Add(user); }); }; chat.OnUserLogout += user => { Application.Current.Dispatcher.Invoke(() => { if (!OnlineUsers.Contains(user)) { return; } OnlineUsers.Remove(user); }); }; chat.OnUsersListReceived += users => { Application.Current.Dispatcher.Invoke(() => { foreach (var user in users) { if (OnlineUsers.Contains(user)) { continue; } OnlineUsers.Add(user); } }); }; Messages = new ObservableCollection <ChatMessage>(); Strokes = new ObservableCollection <Stroke>(); OnlineUsers = new ObservableCollection <string>(); OpenDrawRoomCommand = new RelayCommand(x => { WindowService.ShowWindow(new DrawingRoomViewModel(chat)); }); SendMessageCommand = new RelayCommand(x => { if (!chat.IsConnected) { MessageBox.Show("Connection Failed"); return; } if (string.IsNullOrWhiteSpace(TextField)) { return; } chat.Send(TextField); TextField = ""; OnPropertyChanged("TextField"); }); }
public async Task AddOnlineUser(User user) { OnlineUsers.Add(user); }
public bool Login(string username) { OnlineUsers.Add(new UserConfig(username)); return(true); }
private void OnWebSocketMessage(object sender, MessageEventArgs e) { var messageJson = JObject.Parse(e.Data); var command = (string)messageJson["cmd"]; switch (command) { case "chat": var time = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) .AddMilliseconds((double)messageJson["time"]); time = time.ToLocalTime(); var text = (string)messageJson["text"]; var nick = (string)messageJson["nick"]; var trip = (string)messageJson["trip"]; var richText = HackChatTextParser.GetRichText(text, this); var message = new Message(nick, trip, text, richText, text.ToLower().Contains(Username.ToLower()), time); OnMessage(message); break; case "onlineSet": OnlineUsers = messageJson["nicks"].ToObject <List <string> >(); OnInfo(InfoType.OnlineSet, OnlineUsers); break; case "onlineAdd": var addNick = (string)messageJson["nick"]; OnlineUsers.Add(addNick); OnInfo(InfoType.OnlineAdd, addNick); break; case "onlineRemove": var removeNick = (string)messageJson["nick"]; OnlineUsers.Remove(removeNick); OnInfo(InfoType.OnlineRemove, removeNick); break; case "warn": var warnText = (string)messageJson["text"]; switch (warnText) { case "Nickname must consist of up to 24 letters, numbers, and underscores": OnInfo(InfoType.InvalidUsername, warnText); break; case "Cannot impersonate the admin": OnInfo(InfoType.ImpersonatingAdmin, warnText); break; case "Nickname taken": OnInfo(InfoType.UsernameTaken, warnText); break; case "You are joining channels too fast. Wait a moment and try again.": OnInfo(InfoType.ChannelRatelimit, warnText); break; case "You are sending too much text. Wait a moment and try again.\n" + "Press the up arrow key to restore your last message.": OnInfo(InfoType.MessageRatelimit, warnText); break; default: Console.WriteLine("Unrecognised warning:\n" + e.Data); break; } break; default: Debug.WriteLine("Unrecognised message:"); Debug.WriteLine(e.Data); break; } }