private async Task <IPlayer?> CheckNickname(ISendMessage sendMessage, string playerToEat, bool restrictOnWerefox) { var playerEaten = CurrentGame.GetByName(playerToEat); if (playerEaten == null) { await sendMessage.SendMessageAsync($":name_badge: no player with the nickname: {playerToEat}."); return(null); } if (playerEaten.State == PlayerState.Dead) { await sendMessage.SendMessageAsync( $":name_badge: {playerEaten.GetMention()} is {PlayerState.Dead.ToDescription()}. Choose somebody else."); return(null); } if (restrictOnWerefox && playerEaten.Card == Card.Werefox) { await sendMessage.SendMessageAsync( $":name_badge: {playerEaten.GetMention()} is a {playerEaten.Card.ToDescription()}. Choose somebody else."); return(null); } await sendMessage.SendMessageAsync($":envelope_with_arrow: You vote for: ({playerEaten.GetMention()}) !"); return(playerEaten); }
private async Task SendSingle(ISendMessage social, string message) { try { await social.SendMessageAsync(message); } catch (Exception ex) { this.logger.LogError(ex, "Error while publishing. Going on..."); } }