public async Task List() { var guild = ((SocketGuildChannel)this.Context.Channel).Guild; var moderators = await _moderator.GetLeaderboardModeratorsAsync(guild.Id); await this.Context.Channel.SendMessageAsync($"Leaderboard moderator roles: {string.Join(", ", moderators.Select(mod => guild.GetRole(Convert.ToUInt64(mod.RoleId))).Select(role => role.Name))}"); }
public async Task <bool> UserIsModeratorAsync(SocketCommandContext context, SocketGuildUser user) { if (user.GuildPermissions.ManageGuild || user.Id == 122447770140409856) { return(true); } var moderatorRoles = await _moderator.GetLeaderboardModeratorsAsync(context.Guild.Id); return(user.Roles.Any(role => moderatorRoles.Any(mR => role.Id == Convert.ToUInt64(mR.RoleId)))); }