示例#1
0
        public async Task HandleAsync(Command command)
        {
            var users = await _userPointsRepository.GetUsersAsync();

            var embedMessage = new EbmedMessageBuilder()
                               .AddAuthor();

            foreach (var user in users.OrderByDescending(x => x.Balance).Take(15))
            {
                embedMessage.AddMessageField(new EmbedField($"{user.Nickname}",
                                                            string.Format("{0:0.##}", user.Balance)));
            }

            embedMessage.AddMessageFooter(DateTime.Now.ToShortDateString());

            await _discordRestClient.PostMessage(command.CalledFromChannel,
                                                 new Message { Embed = embedMessage.Build() });
        }
示例#2
0
        private async Task <string> DisplayGameStatus(string channelId, BlackjackGame game)
        {
            var messageBuilder = new EbmedMessageBuilder()
                                 .AddCustomAuthor("Blackjack");

            messageBuilder.AddMessageField(new EmbedField("Prize pool",
                                                          string.Format("{0:0.##}", game.MoneyToWin)));

            foreach (var member in game.Members)
            {
                var userCards = string.Empty;

                foreach (var card in member.UserCards)
                {
                    userCards += $"``{card.Symbol} {GetCardEmoji(card.Color)}`` ";
                }

                userCards += $"({string.Format(TextFormat.BoldText, member.CurrentScore)})";

                messageBuilder.AddMessageField(new EmbedField(
                                                   string.Format(TextFormat.BoldText, member.UserNickname), userCards));
            }

            var response = await _discordRestClient.PostMessage(channelId,
                                                                new Message { Embed = messageBuilder.Build() });

            return(response.Data.Id);
        }