Пример #1
0
        private async Task <bool> UpdateMessage(IUserMessage message, SocketGuild guild)
        {
            bool allConfirmed = AdminConfirmed;

            foreach (bool value in ConfirmedMembers)
            {
                if (!value)
                {
                    allConfirmed = false;
                }
            }
            EmbedBuilder embed;

            if (allConfirmed)
            {
                SocketGuildUser Captain = guild.GetUser(Guild.CaptainId);

                List <SocketGuildUser> Members = new List <SocketGuildUser>();
                foreach (ulong memberId in Guild.MemberIds)
                {
                    SocketGuildUser Member = guild.GetUser(memberId);
                    if (Member != null)
                    {
                        Members.Add(Member);
                    }
                }

                if (Captain != null && Members.Count >= MinecraftGuildModel.MIN_GUILDFOUNDINGMEMBERS)
                {
                    if (await MinecraftGuildModel.CreateGuildAsync(guild, Guild.Name, Guild.Color, Captain, Members))
                    {
                        embed = new EmbedBuilder()
                        {
                            Title       = "Success",
                            Color       = Guild.DiscordColor,
                            Description = $"Guild `{Guild.Name}` has been founded!"
                        };
                    }
                    else
                    {
                        embed = new EmbedBuilder()
                        {
                            Title       = "Failure",
                            Color       = BotCore.ErrorColor,
                            Description = $"Internal Error!"
                        };
                    }
                }
                else
                {
                    embed = new EmbedBuilder()
                    {
                        Title       = "Failure",
                        Color       = BotCore.ErrorColor,
                        Description = $"Internal Error or members of the guild left the server!"
                    };
                }
            }
            else
            {
                embed = UnconfirmedEmbed(AdminConfirmed, Guild, GuildId, ConfirmedMembers);
            }
            await message.ModifyAsync(MessageProperties =>
            {
                MessageProperties.Embed = embed.Build();
            });

            return(allConfirmed);
        }