Пример #1
0
        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);
        }
Пример #2
0
 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...");
     }
 }