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", ", "); } }
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"); }
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:**"); } }