public async Task ShowGroups() { if (!await IsAdmin()) { return; } var embed = new EmbedBuilder().WithTitle("📜 Groups 📜").WithColor(Color.Blue); embed.WithDescription("Delete a role handler using `{Bot.CommandPrefix}deletegroup groupName` [ADMIN ONLY]"); var groups = await GroupHandler.GetAllGroupHandlerFromGuild(Context.Guild.Id); var i = 1; foreach (var group in groups) { foreach (var pair in group.RoleDict) { var str = $"{i++}. {group.GroupName} group:"; var inStr = ""; inStr += $" Requirement -> hold {BigNumber.FormatUint(pair.Value.Requirement, group.TokenDecimal)}"; var mention = Context.Guild.GetRole(ulong.Parse(pair.Key)).Mention; embed.AddField(str + inStr, $"{mention} | type `{Bot.CommandPrefix}claim {pair.Value.ClaimName}` to claim"); } if (group.RoleDict.Count == 0) { embed.AddField($"{i++}. {group.GroupName} group:", $"none"); } } await ReplyAsync(embed : embed.Build()); }
public async Task ShowRoles() { var roles = await RoleHandler.GetAllRoles(); roles = roles.Where(r => r.guildId == Context.Guild.Id).ToList(); var embed = new EmbedBuilder().WithTitle("📜 Roles 📜").WithColor(Color.Blue); embed.WithDescription($"Delete a role handler using `{Bot.CommandPrefix}deleteRole @role`or `{Bot.CommandPrefix}deleteNFTRoles @role` [ADMIN ONLY]"); int i = 1; foreach (var role in roles) { var mention = Context.Guild.GetRole(role.RoleId).Mention; embed.AddField($"{i++}. Requirement: {BigNumber.FormatUint(role.Requirement, role.tokenDecimal)} {role.TokenName}", $"{mention} | type `{Bot.CommandPrefix}claim {role.ClaimName}` to claim"); } var nftRoles = await NFTRoleHandler.GetAllRoles(); nftRoles = nftRoles.Where(r => r.guildId == Context.Guild.Id).ToList(); foreach (var role in nftRoles) { var mention = Context.Guild.GetRole(role.RoleId).Mention; var range = role.RequirementType == NFTReqType.InRange ? $" in range [{role.MinRange};{role.MaxRange}]" : ""; embed.AddField($"{i++}. Requirement: hold {role.HoldXValue} {role.TokenName}{range}", $"{mention} | type `{Bot.CommandPrefix}claim {role.ClaimName}` to claim"); } var groups = await GroupHandler.GetAllGroupHandlerFromGuild(Context.Guild.Id); foreach (var group in groups) { foreach (var pair in group.RoleDict) { var str = $"{i++}. {group.GroupName} group:"; var inStr = ""; inStr += $" Requirement -> cost {BigNumber.FormatUint(pair.Value.Requirement, group.TokenDecimal)} {group.TokenName}"; var mention = Context.Guild.GetRole(ulong.Parse(pair.Key)).Mention; embed.AddField(str + inStr, $"{mention} | type `{Bot.CommandPrefix}claim {pair.Value.ClaimName}` to claim"); } } await ReplyAsync(embed : embed.Build()); }