Beispiel #1
0
        public async Task ShowRoles(CommandContext ctx)
        {
            await ctx.TriggerTypingAsync();

            var assignRoles = _assignRolesService.GetRoles(ctx.Guild.Id);

            if (assignRoles.Count == 0)
            {
                await ctx.RespondAsync("There are no roles on this server that you can assign.");
            }
            else
            {
                // Get server roles.
                var serverRoles = ctx.Guild.Roles;

                List <DiscordRole> discordRoles = new List <DiscordRole>();
                foreach (ulong roleId in assignRoles)
                {
                    discordRoles.Add(serverRoles.Where(p => p.Value.Id == roleId).FirstOrDefault().Value);
                }

                List <DiscordRole> sortedRoles = discordRoles.OrderBy(o => o.Name).ToList();
                await PostLongMessageHelper.PostLongMessage(ctx, sortedRoles.Select(p => p.Name).ToList(), "**The roles available on the server are:**\n", ", ");
            }
        }
Beispiel #2
0
        public async Task EightBallList(CommandContext ctx)
        {
            await ctx.TriggerTypingAsync();

            SimpleResponseResponse <List <SimpleResponseElement> > answers = _simpleResponseService.GetAnswers("8Ball");

            if (answers.Result == SimpleResponseResult.CommandHasNoResponses)
            {
                await PostEmbedHelper.PostEmbed(ctx, "8Ball", "Brak odpowiedzi w bazie. Najpierw coś dodaj");

                return;
            }

            StringBuilder builder = new StringBuilder();

            foreach (var answer in answers.Responses)
            {
                switch (answer.Type)
                {
                case Database.Models.StaticDB.SimpleResponseType.Text:
                    builder.AppendLine(answer.Content);
                    break;

                // Currently there's no way to append video link to embed
                case Database.Models.StaticDB.SimpleResponseType.ImageLink:
                case Database.Models.StaticDB.SimpleResponseType.YoutubeLink:
                case Database.Models.StaticDB.SimpleResponseType.Other:
                    break;
                }
            }
            await PostLongMessageHelper.PostLongMessage(ctx, answers.Responses.Select(p => p.Content).ToList(), "\n", "8Ball");
        }
Beispiel #3
0
        public async Task ShowRoles(CommandContext ctx)
        {
            await ctx.TriggerTypingAsync();

            var assignRoles = _assignRolesService.GetRoles(ctx.Guild.Id);

            if (assignRoles.Count == 0)
            {
                await PostEmbedHelper.PostEmbed(ctx, "System ról", "Na tym serwerze nie ma ról, które można sobie przypisać.");
            }
            else
            {
                // Get server roles.
                var serverRoles = ctx.Guild.Roles;

                List <DiscordRole> discordRoles = new List <DiscordRole>();
                foreach (ulong roleId in assignRoles)
                {
                    discordRoles.Add(serverRoles.Where(p => p.Value.Id == roleId).FirstOrDefault().Value);
                }
                discordRoles.RemoveAll(p => p == null);
                List <DiscordRole> sortedRoles = discordRoles.OrderBy(o => o.Name).ToList();
                await PostLongMessageHelper.PostLongMessage(ctx, sortedRoles.Select(p => p.Name).ToList(), null, "**Role dostępne na serwerze to:**");
            }
        }