public ChatUser GetOrCreateChatUser(string displayName, ChatUser chatUser = null) { lock (_userCreationLock) { ChatUser userFromDb = _repository.Single(ChatUserPolicy.ByDisplayName(displayName)); userFromDb = userFromDb ?? _repository.Create(chatUser); return(userFromDb); } }
public bool UserExists(string username) { if (_activeChatUsers.Any(x => x.DisplayName.Equals(username, StringComparison.InvariantCultureIgnoreCase)) || _repository.Single(ChatUserPolicy.ByDisplayName(username)) != null) { return(true); } return(false); }
public bool RemoveCurrencyFrom(string userName, int tokensToRemove) { if (!_chatUserCollection.UserHasAtLeast(userName, tokensToRemove)) { return(false); } _chatUserCollection.UpdateSpecificChatters(x => x.Tokens -= tokensToRemove, ChatUserPolicy.ByDisplayName(userName)); return(true); }
public void AddCurrencyTo(IEnumerable <string> listOfNames, int tokensToAdd) { _chatUserCollection.UpdateSpecificChatters(CappedTokenAdding, ChatUserPolicy.ByDisplayName(listOfNames)); void CappedTokenAdding(ChatUser chatUser) { checked { chatUser.Tokens += tokensToAdd; } } }
protected override void HandleCommand(IChatClient chatClient, CommandReceivedEventArgs eventArgs) { string userToCheck = eventArgs?.ChatUser?.DisplayName; try { ChatUser chatUser = Repository.Single(ChatUserPolicy.ByDisplayName(userToCheck)); chatClient.SendMessage($"User {userToCheck} has {chatUser?.Tokens ?? 0} tokens!"); } catch (Exception e) { _logger.LogError(e, $"Failed to look up coins for {userToCheck}."); } }
public override void Process(IChatClient chatClient, CommandReceivedEventArgs eventArgs) { try { string userToCheck = eventArgs.ChatUser.DisplayName; string specifiedUser = eventArgs.Arguments?.FirstOrDefault()?.NoAt(); if (specifiedUser != null) { userToCheck = specifiedUser; } ChatUser chatUser = _repository.Single(ChatUserPolicy.ByDisplayName(userToCheck)); chatClient.SendMessage($"{userToCheck} has {chatUser.Tokens} tokens!"); } catch (Exception e) { Console.WriteLine(e); } }
protected override void HandleCommand(IChatClient chatClient, CommandReceivedEventArgs eventArgs) { string userToCheck = eventArgs?.ChatUser?.DisplayName; try { string specifiedUser = eventArgs?.Arguments?.FirstOrDefault()?.NoAt(); if (specifiedUser != null) { userToCheck = specifiedUser; } ChatUser chatUser = Repository.Single(ChatUserPolicy.ByDisplayName(userToCheck)); chatClient.SendMessage($"{userToCheck} has {chatUser?.Tokens ?? 0} tokens!"); } catch (Exception e) { _logger.LogError(e, $"Failed to look up coins for {userToCheck}."); } }
public bool UserExists(string username) { return(_activeChatUsers.Any(x => x.EqualsIns(username)) || _repository.Single(ChatUserPolicy.ByDisplayName(username)) != null); }
public void UpdateEachChatter(Action <ChatUser> updateToApply) { UpdateSpecificChatters(updateToApply, ChatUserPolicy.ByDisplayName(_activeChatUsers)); }
public void AddCurrencyTo(List <string> listOfNames, int tokensToAdd) { _chatUserCollection.UpdateSpecificChatters(x => x.Tokens += tokensToAdd, ChatUserPolicy.ByDisplayName(listOfNames)); }