Exemple #1
0
        private async Task <Result <GuildConfigModel> > CheckStaffAndRetrieveModel()
        {
            var userRes = await _client.GetGuildUser(Context.Guild.Id, Context.User.Id);

            if (userRes.IsFailure())
            {
                return(new KeyNotFoundException());
            }
            var user   = userRes.Get();
            var result = await _repo.GetGuildConfig(Context.Guild.Id);

            var model = result.GetModelOrDefault(Context.Guild);

            if (!user.IsStaff(model.StaffRoles))
            {
                return(new UnauthorizedAccessException());
            }
            return(model);
        }